2014-11-28 3 views
0

Ниже мой запрос. Я не могу понять, как работает выражение count в приведенном ниже запросе.Как работать с count в ms sql?

SQL > SELECT * FROM CUSTOMERS 
GROUP BY age 
HAVING COUNT(age) >= 2; 

Как работает подсчет утверждений?

+0

Вы группирование по 'age', и все же вы хотите отобразить' * '. Просто введите столбцы, которые вы хотите отобразить, и добавьте их в 'GROUP BY'. – waka

ответ

3

Ваш запрос не может быть выполнен из-за * в избранном.

В принципе, если у вас есть group by в запросе - вы можете выбрать либо столбцы в group by заявления или результаты применения некоторых агрегатных функций к столбцам (например, sum, max, min и так далее).

Что касается Вашего вопроса - например, если вы измените его на

SELECT COUNT(age), age FROM CUSTOMERS 
GROUP BY age 
HAVING COUNT(age) >= 2; 

вы получите записи с описанием «сколько клиентов имеют соответствующий возраст», при условии, что число> = 2

Смежные вопросы