Счетчик SQL не возвращает все строки, phpmyadmin добавляет LIMIT, но не показывает его в запросе

У меня есть запрос:

select lr2.event_id as ce
from data_requests as lr2 
group by lr2.event_id, 

это возвращает 88 строк. Тогда я попробовал следующее:

select count(lr2.event_id) as cc, lr2.event_id as ce 
from data_requests as lr2 
group by lr2.event_id

но он возвратил только 25 строк, так что я действительно озадачен, куда делись остальные 63 строки.

Я попробовал это в sqlfiddle, похоже, он работает правильно, но на моем сервере это просто не работает, поэтому это должен быть параметр или что-то в этом духе... Похоже, что сервер вычисляет счет после выбора подмножества всех результатов группы. странно.

3 ответа

Если вы хотите посчитать количество строк для каждого lr2.event_idты должен использовать count(*) не count(lr2.event_id), Помните, вы считаете строки.

Функция GROUP BY

SQL GROUP BY пункт используется в сотрудничестве с SELECT заявление, чтобы расположить идентичные / похожие / равные данные в группы.

демонстрация
Если у меня есть таблица, как показано ниже, то 1-й запрос даст тот же результат, что и определение таблицы:

ce
--
1
2
3
4
5

И 2-й запрос даст вывод как,

cc |ce
--- ---
1   1
1   2
1   3
1   4
1   5

Так как все distinct в таблице я получил 5 строк! но если некоторые ce значения повторяются как,

ce
--
1
2
1
2
2

тогда 2-й запрос выдаст результат в виде:

cc |ce
--- ---
2   1
3   2

А вот если я в шоке, куда делись остальные 3 ряда? Тогда мне нужно учиться! Конечно, это кормление ложкой! OP необходимо изучить GROUP BY в SQL.

Моя проблема, кажется, проблема phpmyadmin, я запускаю запрос в phpmyadmin, и он автоматически добавляет ограничение в конце каждого запроса

Другие вопросы по тегам