LINUX.ORG.RU

История изменений

Исправление crutch_master, (текущая версия) :

Я могу этот лимит применить на стороне получивший данные запроса. Но лучше таки в самом запросе указать, чтобы не тащить из базы лишние данные. В моем случае лимит - требование задачи.

Limit - mysql специфичная хрень, поведение которого не обозначено в стандартах.

Вот и хочу услышать обоснованное мнение, почему не надо

Потому что в sql и множествах нет понятия порядка в самой выборке. То есть, если ты делаешь select * from table он тебе не гарантирует порядок выдачи. Таким образом select * from table limit 2,4 на одном и том же запросе не обязан выдавать тебе одни и те же данные. Тут должна быть обязательная сортировка, но в mysql на это всем насрать, как и на поля с group by без функций, значения которых могут быть произвольными.

и как это работает на самом деле.

Как разрабы mysql считают нужным, так он и работает. Попробуй без группировки сделать выборку. Если всё нормально сделай с подзапросом.

Исходная версия crutch_master, :

Я могу этот лимит применить на стороне получивший данные запроса. Но лучше таки в самом запросе указать, чтобы не тащить из базы лишние данные. В моем случае лимит - требование задачи.

Limit - mysql специфичная хрень, поведение которого не обозначено в стандартах.

Вот и хочу услышать обоснованное мнение, почему не надо

Потому что в sql и множествах нет понятия порядка в самой выборке. То есть если ты делаешь select * from table он тебе не гарантирует порядок выдачи. Таким образом select * from table limit 2,4 на одном и том же запросе не обязан выдавать тебе одни и те же данные. Тут должна быть обязательная сортировка, но в mysql на это всем насрать, как и на поля с group by без функций, значения которых могут быть произвольными.

и как это работает на самом деле.

Как разрабы mysql считают нужным, так он и работает. Попробуй без группировки сделать выборку. Если всё нормально сделай с подзапросом.