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

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

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

谢谢。

最佳答案

MeterID 中同时出现 AB 时,您可以使用临时表列出 [Date] 然后 COUNT() 所有这些 [Date] :

SELECT COUNT(t.*) 
FROM ( SELECT [Date] 
       FROM [table] 
       GROUP BY [Date] 
       HAVING COUNT(DISTINCT [MeterID]) = 2
     ) t

关于SQL Server - 比较同一表中不同行中的多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303587/

相关文章:

sql - 有没有办法用 t-sql 创建 "pivot group"列?

jquery - 如何通过 Ajax 发送多个数据字段?

sql-server - SQL Server Management Studio 关于外键怪异的描述

c# - SQL 查询在 SSMS 中有效,但在 C# : SELECT denied 中无效

sql-server - 如何在sql server中创建一个带有结果集的表

go - 比较不同类型的两个值(但基础类型相同)

java - HQL 查询中的语法错误 "unexpected token"

sql - MySql 选择查询

java - java中如何比较两个日期?

laravel - 如何比较 Laravel 中的碳日期?