-
Ну, к примеру, по дате добавления - последних.
Но как сделать чтобы их было именно 10 ?
Это вообще возможно в SQL ? Как конкретно должен выглядеть такой запрос ?
-
В некоторых серверах это возможно.
Как именно - зависит от сервера и его версии.
-
Johnmen... и как должен выглядеть запрос select ?
Firebird или IB.
-
по дате добавления - я имею ввиду, при наличии поля data. с датой. :>
-
-
> Вопрос (15.04.2008 20:56:03) [3]
ORDER BY ... DESC
-
Anatoly Podgoretsky, речь идет не о порядке выдаче, а об ограничении выдачи...
-
В T-SQL можна использовать select top N [field list] from tableNme. Как с этим обстоят дела в Firebird или IB - не знаю
-
> Anatoly Podgoretsky, речь идет не о порядке выдаче, а об ограничении выдачи...
другая сторона медали...
чтобы ограничить выдачу нужен порядок, т.к. без него нет не имеет смысла понятия - первая запись/последняя/последние 10 и т.д.
> В T-SQL можна использовать select top N [field list] from tableNme.
без order-а это фактически N случайных в разные моменты записей.
-
порядок порядком, а ограничить-то как... если не привлекать генераторы порядкового ключа для ограничения, положим...
-
SELECT FIRST 100 * FROM Table ORDER BY Data DESC ?
похоже так
-
> порядок порядком, а ограничить-то как
Так если порядок перевернут, то последние 10 станут первыми. Тогда надо написать SELECT FIRST(10) ...
-
> SELECT FIRST 100 * FROM Table ORDER BY Data DESC ?
>
> похоже так
>
это выбрать первые 100 записей. у Firebird v2.1 есть ROWS в операторе SELECT.
SELECT ... FROM .... WHERE ... ROWS 100 TO 10
-
PEAKTOP © в случае с датой и descendig это и будут последние 100.
а что конкретно делает Rows ?
-
> SELECT FIRST 100 * FROM Table ORDER BY Data DESC ?
>
> похоже так
Ну и чего ты тогда сопротивлялся против ORDER BY Data DESC - это же как раз ключевой момент, классика, если не можешь получить 10 последних, то получи 10 первых в обратном порядке.
Метод инверсии.
-
Anatoly Podgoretsky
да не сопротивлялся я... как можно, Вага... (c)
Спасиб, вообщем, всем.
-
> Вопрос (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? - Посмотри внизу списка тем данного форума есть ссылки на страницы.