[英]SQL Server - Compare on multiple columns in differnet rows within same table
我有一张桌子,上面有两米的值:
----------------------------
Date | MeterID | Value
----------------------------
1/2/14 A 1.3
2/2/14 A 1.8
2/2/14 B 3.8
3/3/14 A 1.2
4/3/14 A 1.8
4/3/14 B 2.9
我需要一个查询,该查询将计算两种仪表类型( A
和B
)的读数存在的天数?
在上面的示例中,结果应为2。
谢谢。
当在MeterID
中同时出现A
和B
时,可以使用一个临时表列出[Date]
,然后MeterID
所有[Date]
的COUNT()
:
SELECT COUNT(t.*)
FROM ( SELECT [Date]
FROM [table]
GROUP BY [Date]
HAVING COUNT(DISTINCT [MeterID]) = 2
) t
使用集的另一种解决方案:
select count(*) from
(
select distinct date from table where meterid='A'
intersect
select distinct date from table where meterid='B'
) x
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.