SQL Sum 当天的多个值

标签 sql sql-server sql-server-2008

这是我的 table

TIME                     Status
2012-11-15 8:30:00.000   "WAS_FLOW"
2012-11-15 9:00:00.000   "WAS_FLOW"
2012-11-15 10:30:00.000  "H2_FLOW"
2012-11-11 12:14:00.00   "O23HZ_FLOW"
2012-11-11 8:00.00.000   "AZ_FLOW"
2012-11-12 9:00.000      "BZ_FLOW"

我希望我的结果显示:

TIME         "WAS FLOW"    
2012-11-11   0
2012-11-12   0
2012-11-15   2

最佳答案

这里的其他答案都有轻微的故障。我希望这是一个开箱即用为您服务的工具。

SELECT
  DATEADD(DAY, DATEDIFF(DAY, 0, [time]), 0)             AS [date],
  SUM(CASE WHEN status = 'WAS_FLOW' THEN 1 ELSE 0 END)  AS [count]
FROM
  yourTable
GROUP BY
  DATEADD(DAY, DATEDIFF(DAY, 0, [time]), 0)

关于SQL Sum 当天的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13458638/

相关文章:

sql - 合并 SQL 行并获取值

mysql - 限制带有子项的查询

sql-server - 使 Entity Framework 模型跨越多个数据库

php - 使用 unixOdbc 的 SELECT 之一失败 - SQLSTATE [24000] : Invalid cursor state

.net - WCF 服务无法登录到远程数据库

.net - 在 SQL Server 中存储大量字符串消息的最有效方法?

sql - 根据聚合数据对行进行排序

sql - 检索具有某些条件的所有 SP 的列表

sql-server - 如何在 T-SQL 中重写电话号码?

mysql - SQL:根据当前用户获取好友列的值