ms sql group by column

时间:2014-08-14 08:25:24

标签: sql-server tsql

无法按两个表分组:

enter image description here

输出必须是:

  

姓名姓氏| 6(计数)

     

姓名姓氏| 9(计数)

我试过了:

 SELECT *, COUNT(person) as groupby_column
 FROM links l
 JOIN persons p
 ON [l].person = [p].id
 GROUP BY groupby_column

1 个答案:

答案 0 :(得分:0)

您没有在group by子句中指定聚合,您可以在group by子句中指定组成(不同)组的列。在您的情况下,last_namefirst_name

另外,您必须在group by子句中包含所有非聚合列,这样您才能使用select *(这是一个不好习惯)。

根据所需的输出,你需要这样的东西:

SELECT p.id, 
       p.first_name, 
       p.last_name, 
       COUNT(*) as person_count
FROM links l
 JOIN persons p ON l.person = p.id
GROUP BY p.id, p.last_name, p.first_name;