Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Выбор 3х последних значений из БД с неодинаковыми именами [RSS Feed]

#1 Янв. 25, 2016 10:54:08

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

Выбор 3х последних значений из БД с неодинаковыми именами

Доброго времени суток,собст сабж.
Благодарочка всем ответившим!

Офлайн

#2 Янв. 25, 2016 11:11:29

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Выбор 3х последних значений из БД с неодинаковыми именами

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 



Офлайн

#3 Янв. 25, 2016 11:25:15

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

Выбор 3х последних значений из БД с неодинаковыми именами

Почему бы банальным LIMIT не воспользоваться ?

SELECT * FROM my_table ORDER BY id DESC LIMIT 3 
Тут id - первичный ключ в таблице.

Офлайн

#4 Янв. 25, 2016 12:02:42

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Выбор 3х последних значений из БД с неодинаковыми именами

VadimK
Начать с того, что мы не знаем какая у нас СУБД. Например, в оракле никакого лимита нет.
И каким образом ваш запрос фильтрует неодинаковые имена?



Офлайн

#5 Янв. 25, 2016 12:10:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Выбор 3х последних значений из БД с неодинаковыми именами

Одним запросом будет, наверное, так, но это не кроссплатформенно, работает в оракле

select DISTINCT(tn.name), tn.id from tablename tn WHERE ROWNUM <= 3 order by tn.id desc;



Офлайн

#6 Янв. 25, 2016 12:44:32

dzh
Зарегистрирован: 2015-12-01
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

Выбор 3х последних значений из БД с неодинаковыми именами

select top N

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

select top…

Офлайн

#7 Янв. 25, 2016 14:19:43

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

Выбор 3х последних значений из БД с неодинаковыми именами

У мну постгрес.

Офлайн

#8 Янв. 25, 2016 16:57:40

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

Выбор 3х последних значений из БД с неодинаковыми именами

Всем спасиб. Помогло.

Офлайн

  • Начало
  • » Django
  • » Выбор 3х последних значений из БД с неодинаковыми именами[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version