Получить количество услуг, которые получает каждое имя пользователя - PullRequest
0 голосов
/ 23 декабря 2011

у меня есть эта таблица:

    serviceID    Name     L_name    
  --------------------------------
        1         A         B      
        2         A         B
        3         C         D
        4         E         F 

и я хочу получить количество услуг, которые получает каждый человек:

         Name    L_Name    Countf
   ---------------------------------
          A         B        2
          C         D        1
          E         F        1  

это запрос, который я написал и не имеет правильного набора результатов:

select * 
from  
(Select  Name,L_Name,COUNT(Service_ID) as 'countf' 
from Service_Tbl  
group by Name,L_Name) as tbl

я получаю это:

         Name    L_Name    Countf
   ---------------------------------
          A         B        1
          A         B        1
          C         D        1
          E         F        1  

1 Ответ

1 голос
/ 23 декабря 2011

Вам нужно group ваши результаты, например так:

select Name, L_Name, COUNT(Service_ID) as 'countf'
from Service_Tbl  
group by Name,L_Name

Вот полный пример, который дает необходимый результат:

create table #Service_Tbl  (
serviceID    int,
Name     varchar(1),
L_name    varchar(1)
)

insert into #Service_Tbl values (1, 'A','B')
insert into #Service_Tbl values (2, 'A','B')
insert into #Service_Tbl values (3, 'C','D')
insert into #Service_Tbl values (4, 'E','F')

select Name, L_Name, COUNT(ServiceID) as 'countf'
from #Service_Tbl  
group by Name,L_Name

drop table #Service_Tbl 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...