SQL:对于一列中的每个项目,在另一列中计算其对应的值

时间:2018-04-16 20:11:45

标签: sql

我有一个表对(id1,id2),如下所示:

+---------+---------+
|   id1   |   id2   |
+---------+---------+
|       1 |       2 |
|       2 |       2 |
|       3 |       1 |
|       4 |       1 |
|       5 |       3 |
|       6 |       2 |
+---------+---------+

我需要创建一个语句,它将打印每个单独的值表单id2,以及与其对应的值的计数器。输出应如下所示:

+---------+---------+
|   id2   |  Count  |
+---------+---------+
|       1 |       2 |
|       2 |       3 |
|       3 |       1 |
+---------+---------+

2 个答案:

答案 0 :(得分:0)

你可以用这个

select id2, count(*) cnt 
from mytable group by id2

答案 1 :(得分:0)

在这里'你是怎么做的 - 用表名替换#temp:

   select a.id1 id2, count(*) [count]from #temp a 
   join #temp b on a.id1=b.id2
   group by a.id1