首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL求和当天的多个值

SQL求和当天的多个值
EN

Stack Overflow用户
提问于 2012-11-20 01:03:20
回答 3查看 453关注 0票数 3

这是我的桌子

代码语言:javascript
复制
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"

我希望我的结果显示:

代码语言:javascript
复制
TIME         "WAS FLOW"    
2012-11-11   0
2012-11-12   0
2012-11-15   2
EN

回答 3

Stack Overflow用户

发布于 2012-11-20 01:09:42

这里的其他答案都有一些小问题。我希望这里有一个开箱即用的解决方案。

代码语言:javascript
复制
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)
票数 1
EN

Stack Overflow用户

发布于 2012-11-20 02:54:51

代码语言:javascript
复制
SELECT CAST(TIME AS date) AS TIME,
       COUNT(CASE WHEN Status = 'WAS_FLOW' THEN Status END) AS 'WAS_FLOW'
FROM dbo.your_table
GROUP BY CAST(TIME AS date)

上的演示

票数 1
EN

Stack Overflow用户

发布于 2012-11-20 01:09:27

请在下面进行尝试:

代码语言:javascript
复制
   SELECT DISTINCT  CONVERT(VARCHAR(10), a.TIME, 101),
          CASE b.COUNT WHEN NULL THEN 0 ELSE b.COUNT END AS "WAS FLOW"
   FROM MyTable AS a 
       LEFT JOIN 
            (SELECT Count(STATUS) AS "COUNT"
             FROM MyTable
             WHERE Status = 'WAS_FLOW'
             GROUP BY Time
            ) AS b
   ON a.TIME= b.TIME;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13458638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档