gpt4 book ai didi

MySQL 查询返回多个求和和分组列

转载 作者:行者123 更新时间:2023-11-30 01:32:05 26 4
gpt4 key购买 nike

此处提出的问题的第 2 部分 -

MySQL query to return multiple summed columns

我的 SQL 表中有以下数据。想象一下,还有更多行跨越数年的数据。

uid    user    category    count    date
--------------------------------------------------
1 henry RED 4 2013-04-01
2 john BLUE 3 2013-04-11
4 eric GREEN 2 2013-04-22
3 alice RED 5 2013-05-01
5 eric BLUE 2 2013-05-12
6 john RED 3 2013-05-23
7 henry GREEN 2 2013-06-03
8 eric RED 3 2013-06-08
9 john BLUE 5 2013-07-11
... (more) ...

我想要一个查询,它可以返回以下数据,并根据日期按列分组。我知道如何使用 GROUP BY 命令将数据分组为行。但我不知道如何按列进行操作。

category    May 2013     April 2013  ... (more)
------------------------------------
RED 8 4
BLUE 2 3
GREEN 0 2

我意识到就使用日期和时间函数而言可能有很多选择。我只是更多地寻找如何设置 SQL 逻辑以提供任意数量的列的基本结构。

最佳答案

您应该尝试按情况求和(如果不正确,则求和 0)。就像下面这样:

SELECT 
...
SUM(CASE WHEN date BETWEEN ... AND ... THEN 'count' ELSE 0 END) as 'May 2013',
SUM(CASE WHEN date BETWEEN ... AND ... THEN 'count' ELSE 0 END) as 'April 2013',
etc.
FROM ...,
GROUP BY category

关于MySQL 查询返回多个求和和分组列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17325716/

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