Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.19;
Скачать: CL | DM;

Вниз

как найти 10 "последних записей" в sql ?   Найти похожие ветки 

 
Вопрос   (2008-04-15 20:48) [0]

Ну, к примеру, по дате добавления  - последних.
Но как сделать чтобы их было именно 10 ?
Это вообще возможно в SQL ? Как конкретно должен выглядеть такой запрос ?


 
Johnmen ©   (2008-04-15 20:52) [1]

В некоторых серверах это возможно.
Как именно - зависит от сервера и его версии.


 
Вопрос   (2008-04-15 20:54) [2]

Johnmen... и как должен выглядеть запрос select ?

Firebird или IB.


 
Вопрос   (2008-04-15 20:56) [3]

по дате добавления  - я имею ввиду, при наличии поля data. с датой. :>


 
Johnmen ©   (2008-04-15 21:00) [4]

http://www.ibase.ru/devinfo/dataaccesspaths.htm  2.4. Счетчики


 
Anatoly Podgoretsky ©   (2008-04-15 21:02) [5]

> Вопрос  (15.04.2008 20:56:03)  [3]

ORDER BY ... DESC


 
Вопрос   (2008-04-15 21:44) [6]

Anatoly Podgoretsky, речь идет не о порядке выдаче, а об ограничении выдачи...


 
El Hombre   (2008-04-15 21:57) [7]

В T-SQL можна использовать select top N [field list] from tableNme. Как с этим обстоят дела в Firebird или IB - не знаю


 
sniknik ©   (2008-04-15 22:32) [8]

> Anatoly Podgoretsky, речь идет не о порядке выдаче, а об ограничении выдачи...
другая сторона медали...
чтобы ограничить выдачу нужен порядок, т.к. без него нет не имеет смысла понятия - первая запись/последняя/последние 10 и т.д.

> В T-SQL можна использовать select top N [field list] from tableNme.
без order-а это фактически N случайных в разные моменты записей.


 
Вопрос   (2008-04-15 22:48) [9]

порядок порядком, а ограничить-то как... если не привлекать генераторы порядкового ключа для ограничения, положим...


 
Вопрос   (2008-04-15 23:00) [10]

SELECT FIRST 100 * FROM Table ORDER BY Data  DESC ?

похоже так


 
palva ©   (2008-04-15 23:01) [11]


> порядок порядком, а ограничить-то как

Так если порядок перевернут, то последние 10 станут первыми. Тогда надо написать SELECT FIRST(10) ...


 
PEAKTOP ©   (2008-04-15 23:38) [12]


> SELECT FIRST 100 * FROM Table ORDER BY Data  DESC ?
>
> похоже так
>


это выбрать первые 100  записей. у Firebird v2.1 есть ROWS в операторе SELECT.

SELECT ... FROM .... WHERE ... ROWS 100 TO 10


 
Вопрос   (2008-04-15 23:53) [13]

PEAKTOP ©  в случае с датой и descendig это и будут последние 100.
а что конкретно делает Rows ?


 
Anatoly Podgoretsky ©   (2008-04-16 00:21) [14]


> SELECT FIRST 100 * FROM Table ORDER BY Data  DESC ?
>
> похоже так

Ну и чего ты тогда сопротивлялся против ORDER BY Data  DESC - это же как раз ключевой момент, классика, если не можешь получить 10 последних, то получи 10 первых в обратном порядке.
Метод инверсии.


 
Вопрос   (2008-04-16 00:45) [15]

Anatoly Podgoretsky
да не сопротивлялся я...  как можно, Вага... (c)

Спасиб, вообщем, всем.


 
PEAKTOP ©   (2008-04-16 14:08) [16]

> Вопрос   (15.04.08 23:53) [13]
>
> а что конкретно делает Rows ?


Нумерует записи в SELECT и позволяет ограничивать выборку указаными записями в порядки их следования. Например, ROWS 100 TO 110 - означает вернуть из результата выборки записи с 100 по 110.

Конструкция появилась после роста популярности Firebird, особенно в области ERP-систем, когда начали прикручивать к ним WEB-интерфейс на PHP, где все PHP-кодеры привыкли, что в конструкции SELECT для машины баз данных MySQL есть ROWS. После долгих и продолжительных воплей конструкция была прикручена в SQL-сервер Firebird.

На фига нужна ROWS? - Посмотри внизу списка тем данного форума есть ссылки на страницы.



Страницы: 1 вся ветка

Текущий архив: 2008.10.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
2-1219596481
Виталий_д
2008-08-24 20:48
2008.10.19
высота TMainMenu


15-1219934803
kaif
2008-08-28 18:46
2008.10.19
Кто-нибудь может перевести?


15-1219872645
+koha
2008-08-28 01:30
2008.10.19
Кто занимается параллельными машинами подскажите


15-1219908226
Виктор008
2008-08-28 11:23
2008.10.19
Как запустить BDS 2005 только в режиме Delphi for Win32


2-1220950600
Ivolg
2008-09-09 12:56
2008.10.19
HTTP 1.1 400 Bad Request





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский