Подсчёт количества повторяющихся записей в базе MS SQl Server

Рейтинг: 3Ответов: 2Опубликовано: 24.11.2014

Здравствуйте.

Есть база данных клиентов и заказов на MS SQL Server. Нужно подсчитать, сколько заказов приходится на каждого клиента. Делаю запрос:

SELECT   
Table.fam ,--фамилия клиента  
count (table.idOrder) --номер заказа  
from Table  
group by Table.fam,table.idOrder

На выходе получаю

Попов   1  
Попов   1  
Попов   1  
Попов   1

А должно быть

Попов   4

Как это можно реализовать? Спасибо.

Ответы

▲ 4Принят

А почему у вас группировка по одному полю, а выводите другое? Будто в p_fam у четырёх Поповых разные данные лежат.

http://sqlfiddle.com/#!2/ce9985/12

Вот тут, вроде, всё как нужно.

UPDATE

Ну вот, теперь не нужна группировка по id, он же уникален:

SELECT
Table.fam
count (table.idOrder)
from Table
group by Table.fam
▲ 4

Довольно странно искать фамилии клиентов, а не их уникальные номера. Неужели в базе нет ни одного однофамильца? Что же касается вопроса:

SELECT [FAM], COUNT(FAM) as 'Количество'
FROM [TABLE]
GROUP BY [FAM]
GO