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

时间:2014-06-19 09:46:16

标签: sql sql-server compare

我有一个表格,其中包含从2米读取的值:

----------------------------
   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

我需要一个查询来计算BOTH电表类型(A& B)的读数天数?
在上面的例子中,结果应该产生2。

感谢。

2 个答案:

答案 0 :(得分:5)

[Date]MeterID以及A B出现COUNT()时,您可以使用临时表列出[Date] SELECT COUNT(t.*) FROM ( SELECT [Date] FROM [table] GROUP BY [Date] HAVING COUNT(DISTINCT [MeterID]) = 2 ) t {1}} s:

{{1}}

答案 1 :(得分:0)

另一种解决方案,使用集合:

select count(*) from
(
    select distinct date from table where meterid='A'
    intersect
    select distinct date from table where meterid='B'
) x