Найти - Пользователи
Полная версия: Mysqldb. Неправильно срабатывает LIMIT в запросе
Начало » Базы данных » Mysqldb. Неправильно срабатывает LIMIT в запросе
1
kedoff
в таблице live_broadcost 20 записей с id от 1 до 20. мне нужно выбрать id 10ой записи.

#!/usr/local/bin/python
# -*- coding: koi8-r -*-

import MySQLdb

db = MySQLdb.Connect(...)

cursor = db.cursor()

cursor.execute("SELECT MAX(id) from live_broadcost ORDER BY id LIMIT 0,10");

maxid = cursor.fetchone()[0];

print maxid;

db.close();
получаю всега максимальный id в таблице.
Lexander
Потому что сначала срабатывает функция MAX, а выборка обрезается в самую последнюю очередь.
ORDER BY id DESC - и первой записью всегда будет максимальный ID в пределах указанной выборки.
kedoff
да,вы правы, только что освежил переписав код на пхп и получил тоже самое. может знаете как быть?
kedoff
вспомнил

$result = mysql_query('SELECT MAX(id) FROM (SELECT id FROM live_broadcost ORDER BY id LIMIT 10) AS T1' , $db) or die(mysql_error());
bigvovka
а чем не нравится SELECT id from live_broadcost ORDER BY id LIMIT 9,1 ?

да и вообще, по условию задачи вы уже знаете заранее id записи :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB