gpt4 book ai didi

mysql - 按日期和 Case 语句分组的 SQL 语法

转载 作者:行者123 更新时间:2023-11-28 23:16:38 24 4
gpt4 key购买 nike

我的 mysql 数据库类似于以下内容,并且正在努力正确使用 case、group by 和 order by 语句。示例数据集:

ID     Date          Direction
1 2017-04-01 1
2 2017-04-01 1
3 2017-04-01 -1
4 2017-04-01 1
5 2017-04-01 -1
6 2017-04-01 1
7 2017-04-02 -1
8 2017-04-02 -1
9 2017-04-02 -1
10 2017-04-02 1
11 2017-04-02 -1
12 2017-04-03 -1

我试图了解聚合此表并按日期分组的最佳方法,以便查询返回以下记录集。下面的“正”列只是方向列(上方)的计数,其中方向 > 0。类似地,“负”列是方向列的计数,其中方向 < 0,如下所示:

DATE         positive      negative   
2017-04-01 4 2
2017-04-02 1 4
2017-04-03 0 1

我试过:

 SELECT DATE, 
CASE
WHEN direction < 0 THEN 'negative'
WHEN direction > 0 THEN 'positive'
END AS updownType, count(*) AS updownCount
FROM table WHERE DATE BETWEEN '2017-04-01' AND '2017-04-03'
GROUP BY DATE, updownType
ORDER BY DATE ASC

我已经查看了关于该主题的数十个 SO 线程,但还没有遇到我正在寻找的内容。任何建议表示赞赏

最佳答案

哎呀,你只是想念它。见下文

SELECT DATE, 
count(CASE WHEN direction < 0 THEN '1' END) AS negative,
Count(CASE WHEN direction > 0 THEN '1' END) AS positive
FROM table WHERE DATE BETWEEN '2017-04-01' AND '2017-04-03'
GROUP BY DATE
ORDER BY DATE ASC

关于mysql - 按日期和 Case 语句分组的 SQL 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43579350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com