MySQL сместил бесконечные строки

103
задан informatik01 12 September 2018 в 14:52
поделиться

4 ответа

От MySQL Manual на ПРЕДЕЛЕ :

Для получения всех строк от определенного смещения до конца набора результатов можно использовать некоторое большое количество для второго параметра. Этот оператор получает все строки от 96-й строки до последнего:

SELECT * FROM tbl LIMIT 95, 18446744073709551615;
143
ответ дан Michael Berkowski 24 November 2019 в 04:20
поделиться

Как Вы упомянули, это ОГРАНИЧИВАЕТ, требуется, таким образом, необходимо использовать самый большой возможный предел, который равняется 18446744073709551615 (максимум неподписанного BIGINT)

SELECT * FROM somewhere LIMIT 18446744073709551610 OFFSET 5
22
ответ дан Czimi 24 November 2019 в 04:20
поделиться

Другой подход должен был бы выбрать autoimcremented столбец и затем отфильтровать его НАЛИЧИЕ использования.

SET @a := 0; 
select @a:=@a + 1 AS counter, table.* FROM table 
HAVING counter > 4

, Но я, вероятно, придерживался бы высокого предельного подхода.

5
ответ дан mgraph 24 November 2019 в 04:20
поделиться

Поскольку другие упомянули из руководства MySQL. Для достижения этого можно использовать максимальное значение неподписанного большого интервала, который является этим ужасным номером (18446744073709551615). Но сделать это немного менее грязным Вы можете тильда "~" побитовый оператор.

  LIMIT 95, ~0

это работает поразрядным отрицанием. Результат "~0" равняется 18446744073709551615.

1
ответ дан 24 November 2019 в 04:20
поделиться
Другие вопросы по тегам:

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