Существует ли квалификатор SQL select для выполнения команд Skip () и Take ()
Мы пытаемся сделать эквивалент LINQ select.Skip(50).Take(25)
. Это для библиотеки, которая может ударить по любой базе данных SQL. Так…
- Существует ли стандартное предложение SQL select, которое может это сделать? ( Довольно уверен, что ответ отрицательный .)
- Если нет, есть ли способ сделать это специально для Access, DB2, MySql, Oracle, PostgreSQL и Sql Server? И если да, то как для каждого из этих поставщиков?
- «Выбор для обновления» предотвращает вставку других подключений, когда строка отсутствует
- Однострочный запрос для копирования данных из 3 таблиц в пустую таблицу
- Альтернатива Microsoft для ORACLE APEX?
- Подход для .NET асинхронного подключения к Oracle
- nvarchar & varchar с Oracle и SQLServer
- Выражение для удаления возврата каретки в SSRS
- Расчет времени поездки в реляционных базах данных?
- Ошибка CodePage при импорте данных с Oracle на SQL Server с использованием SSIS
- Преобразование типа данных MSSQL
- Выберите повторяющиеся значения в одном столбце таблицы
- Может ли EXPLAIN предоставить больше, чем просто план запроса?
- Подключение к SQL Server из Oracle 10g
- Экспорт сценария определения данных из базы данных Oracle
В DB2 в MySQL нет действительно легкого предложения, такого как LIMIT
, хотя вы можете включить совместимость MySQL, когда находитесь в DB2 для Linux / Unix / Windows:
db2set DB2_COMPATIBILITY_VECTOR=MYS db2stop db2start
Кроме того, вы можете использовать функцию окон ROW_NUMBER (), чтобы получить что-то вроде этого:
SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS rn ,S.* FROM your_table AS S ) AS A WHERE rn BETWEEN 10 AND 20
.SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS rn ,S.* FROM your_table AS S ) AS A WHERE rn BETWEEN 10 AND 20
Для MySQL используйте LIMIT. С одним аргументом число возвращаемых строк. С двумя аргументами число пропущенных строк и число возвращаемых строк.
Подробнее см. http://dev.mysql.com/doc/refman/5.5/ru/select.html .