Есть ли разница между «LIMIT 0, 1» и «LIMIT 1»?

Недавно я наткнулся на примеры кодов, которые отличались этими обозначениями.

SELECT * FROM table LIMIT 0, 1
SELECT * FROM table LIMIT 1

Первый аргумент следует рассматривать как смещение, если я не ошибаюсь, цель этих двух запросов состоит в том, чтобы ограничить выбор до первой строки table

Есть ли какой-либо негативный эффект, когда вы покидаете офсет /как можно оставить его в первую очередь? Или я неправильно понял запросы?

11 голосов | спросил Gimu 3 J000000Friday15 2015, 11:30:27

1 ответ


9

Как сообщает документация :

  

Предложение LIMIT может использоваться для ограничения количества строк, возвращаемых символом SELECT заявление. LIMIT принимает один или два числовых аргумента, которые должны быть неотрицательными целыми константами (кроме случаев, когда используются подготовленные операторы).

     

С двумя аргументами первый аргумент указывает смещение первой строки для возврата, а второй указывает максимальное количество возвращаемых строк. The offset of the initial row is 0 (not 1).

Предложение LIMIT используется в SELECT, чтобы ограничить количество строк в результирующем наборе. Предложение LIMIT принимает один или два аргумента. Значения обоих аргументов должны быть нулевыми или положительными целыми константами.

Ниже показано синтаксис предложения LIMIT с двумя аргументами:

SELECT * FROM tbl
LIMIT offset, count;

Посмотрим, что означают смещение и значение count в предложении LIMIT:

  • offset указывает смещение первой строки для возврата. Смещение первой строки равно 0, а не 1.
  • count указывает максимальное количество возвращаемых строк.

Когда вы используете LIMIT с одним аргументом, этот аргумент будет использоваться для указания максимального количества строк, возвращаемых с начала набор результатов.

SELECT * FROM tbl  LIMIT count;

Вышеуказанный запрос эквивалентен следующему запросу с предложением LIMIT, которое принимает два аргумента:

SELECT * FROM tbl  LIMIT 0, count;

Предложение LIMIT, которое часто используется с ORDER BY. Во-первых, вы используете предложение ORDER BY для сортировки набора результатов на основе определенных критериев, а затем вы используете LIMIT, чтобы найти самые низкие или самые высокие значения.

ответил oNare 3 J000000Friday15 2015, 13:42:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132