繁体   English   中英

SQL Server-比较同一表中differentnet行中的多个列

[英]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

我需要一个查询,该查询将计算两种仪表类型( AB )的读数存在的天数?
在上面的示例中,结果应为2。

谢谢。

当在MeterID中同时出现AB时,可以使用一个临时表列出[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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM