Форум сайта python.su
в таблице 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();
Отредактировано (Июль 26, 2010 10:44:42)
Офлайн
Потому что сначала срабатывает функция MAX, а выборка обрезается в самую последнюю очередь.
ORDER BY id DESC - и первой записью всегда будет максимальный ID в пределах указанной выборки.
Офлайн
да,вы правы, только что освежил переписав код на пхп и получил тоже самое. может знаете как быть?
Отредактировано (Июль 26, 2010 11:05:27)
Офлайн
вспомнил
$result = mysql_query('SELECT MAX(id) FROM (SELECT id FROM live_broadcost ORDER BY id LIMIT 10) AS T1' , $db) or die(mysql_error());
Офлайн
а чем не нравится SELECT id from live_broadcost ORDER BY id LIMIT 9,1 ?
да и вообще, по условию задачи вы уже знаете заранее id записи :)
Офлайн