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  при этом можно убрать, он не нужен. 

Комментарии

Комментариев пока нет, вы можете оставить свой: