需要帮助编写SQL查询以计算非重复行(不是非重复计数)

时间:2016-07-25 20:08:13

标签: sql count having

我有一张如下表格。我试图计算一些没有重复的ID。我并不是指一个独特的计数。不同的计数将返回7的结果(a,b,c,d,e,f,g)。我希望它返回4(a,c,d,f)的计数。这些是没有多个类型代码的ID。我已经尝试了以下查询,但计数为0(结果应该是数百万的计数)。

select ID, count (ID) as number
from table
group by ID
having count (ID) = 1

Select count (distinct ID)
From table
Having count (ID) = 1

ID|type code
a|111
b|222
b|333
c|444
d|222
e|111
e|333
e|555
f|444
g|333
g|444

感谢@scaisEdge!您提供的第一个查询完全符合我在上述问题中所寻求的内容。现在已经发现我的领导者已经要求它进一步显示单个类型代码中有多少次ID。例如,我们希望看到

输入代码|计数 111 | 1 222 | 1 444 | 2

有2个ID的实例具有单个类型代码444(c,f),存在具有单个类型代码111(a)和222(d)的ID的一个实例。我已尝试修改查询,但在运行查询时遇到了错误

选择count(admin_sys_tp_cd)作为数字 来自(   从中选择cont_id   imdmadmp.contequiv   按cont_id分组   有计数(*)= 1)t group by admin_sys_tp_cd

2 个答案:

答案 0 :(得分:1)

如果你想要计数可以

select count(*) from (
  select id from 
  my_table 
  group by id 
  having count(*) =1 
) t

如果你想要id

  select id from 
  my_table 
  group by id 
  having count(*) =1 

答案 1 :(得分:-2)

关于这个你在临时表中做一个循环?:

Intent