MySQL: COUNT не корректно работает с GROUP BY, чем заменить?
COUNT - это агрегирующая функция, поэтому оператор GROUP BY не срабатывает.
Допустим, необходимо подсчитать, сколько будет уникальных городов в таблице.
Если ввести такой запрос:
SELECT COUNT(city)
FROM deliveries
WHERE(ваши условия)
GROUP BY city
То MySQL подсчитает все города, в том числе и повторяющиеся.
Чтобы подсчитать только уникальные, необходимо добавить DISTINCT в COUNT:
SELECT COUNT(DISTINCT city)
FROM deliveries
WHERE(ваши условия)
GROUP BY при этом можно убрать, он не нужен.
Комментарии