SQL-выберите только первые 10 строк?
Я хотел бы отобразить только первые 10 результатов из следующего запроса:
10 ответов
В SQL server используйте:
в MySQL используйте:
зависит от вашей СУБД
ROWNUM — магическая переменная, содержащая порядковый номер 1 каждой строки..n.
. FETCH FIRST 10 ROWS ONLY
ответ ANSI SQL является FETCH FIRST .
если вы хотите, чтобы галстуки были включены, сделайте .
, чтобы пропустить указанное количество строк, используйте OFFSET , например,
пропустит первые 20 строк, а затем получит 10 строк.
поддерживается более новыми версиями Oracle,PostgreSQL, MS SQL Server, Mimer SQL и DB2 и т.д.
это сработало для меня.Если можно, у меня есть несколько полезных dbscripts, которые вы можете посмотреть на
SQL — Select first 10 rows only?
How do I select only the first 10 results of a query?
I would like to display only the first 10 results from the following query:
![]()
12 Answers 12
In SQL server, use:
![]()
Depends on your RDBMS
![]()
The ANSI SQL answer is FETCH FIRST .
If you want ties to be included, do FETCH FIRST 10 ROWS WITH TIES instead.
To skip a specified number of rows, use OFFSET , e.g.
Will skip the first 20 rows, and then fetch 10 rows.
Supported by newer versions of Oracle, PostgreSQL, MS SQL Server, Mimer SQL and DB2 etc.
Как в Oracle выбрать первые N записей
Если в таблице много записей, то порой достаточно выбрать первый десяток.
В других СУБД для этого изначально были специальные конструкции в языке SQL. В Oracle всё это появилось гораздо позже.
Есть несколько популярных способов. Каждый имеет плюсы и минусы, ну и от версии зависит.
Первый способ. С помощью конструкции «SELECT FROM SELECT»
Делаем два запроса: сначала сортируем, затем выбираем нужное количество.
Конструкции SELECT-FROM-SELECT в Oracle 7 не было и приходилось изгалятся ещё круче. Но эти коды уже канули в прошлое.
Второй сопособ. «Классика».
С виду похож на первый способ, но на самом деле более универсальный. Позволяет получить не только первую десятку, но и вторую, третью и т.д
Просто надо переписать последюю строку в как-то так: WHERE 0 Третий способ . «Новомодный». Работает в Oracle 12c.
Здесь всё за счёт конструкции FETCH FIRST ROWS. Oracle потребовалось дойти до 12-ой версии, чтобы эту конструкцию ввести в язык.
Похожие статьи:
- Как создавать дампы в Oracle с помощью Data Pump
Если нужно перенести объекты схемы из одной базы в другую, то проще всего это сделать с помощью технологии Oracle Data Pump. Прежде чем вникать в детали работы с Data Pump, давайте уточним: у нас есть физические резервные копии и логические дампы.
Чтобы после сбоя в системе (например, отказа жесткого диска) восстановить базу нужно иметь под рукой резервную копию. (Нет резервной копии — прощай работа )) Чем свежее копия, тем лучше. Более того: резервная копия базы должна быть полной и непротиворечивой.
Долго не мог понять, почему люди не любят пользоваться SQL*Plus. Оказывается: интерфейс убогий и бестолковый. Словом, не графический – мышкой ткнуть не куда (значит интуитивно не понятный). Мда. ..редко встретишь кодера, умеющего мышкой воять SELECT’ы.