Найти - Пользователи
Полная версия: Выбор 3х последних значений из БД с неодинаковыми именами
Начало » Django » Выбор 3х последних значений из БД с неодинаковыми именами
1
helm2004
Доброго времени суток,собст сабж.
Благодарочка всем ответившим!
FishHook
cursor = connection.cursor()
cursor.execute("SELECT * FROM TABLE NAME ORDER BY TIME DESC")
result = dict()
while len(result) < 3:
   row = cursor.fetchone()
   if row is None:
        break
   name = row[5] 
   if name not in result:
        result[name] = row 
VadimK
Почему бы банальным LIMIT не воспользоваться ?
SELECT * FROM my_table ORDER BY id DESC LIMIT 3 
Тут id - первичный ключ в таблице.
FishHook
VadimK
Начать с того, что мы не знаем какая у нас СУБД. Например, в оракле никакого лимита нет.
И каким образом ваш запрос фильтрует неодинаковые имена?
FishHook
Одним запросом будет, наверное, так, но это не кроссплатформенно, работает в оракле
select DISTINCT(tn.name), tn.id from tablename tn WHERE ROWNUM <= 3 order by tn.id desc;
dzh
select top N

и его производные

select top…
helm2004
У мну постгрес.
helm2004
Всем спасиб. Помогло.
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