Select语句显示每个唯一变量的计数

时间:2018-09-27 16:03:11

标签: sql

我有一个看起来像这样的表:

ID   |   Value   |   Date
1    |   3000    |   25/06
1    |   3000    |   26/06
1    |   2000    |   12/07
2    |   4000    |   23/12
2    |   4000    |   12/12
3    |   2000    |   01/11
3    |   2000    |   23/04
3    |   4000    |   23/05
3    |   4000    |   04/11

现在,我想显示特定ID的唯一值,以及每个特定值在表中显示特定ID的次数。

所需的输出

select ### where ID = 1 from tablename; would be:

distinct Value | count
      3000     |   2 
      2000     |   1

以及:

select ### where ID = 3 from tablename;

distinct Value | count
      2000     |   2 
      4000     |   2

可以使用单个select语句(针对每个ID)完成此操作吗?

1 个答案:

答案 0 :(得分:0)

也许是这样的:

select ID
     , Value
     , Count(*) AS CountOfValues
from tablename
group by ID, Value

只需按ID和值进行分组,然后根据这些分组集计算值出现的次数。