1
我的mysql数据库类似于以下内容,我正在努力正确使用case,group by和order by语句。样本数据集:按语句分组的SQL语法
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线程,但是还没有找到我正在寻找的内容。任何建议表示赞赏
完美谢谢! – Gunnar