我有一个表格,我想要按类别和日期进行分组,但是我想将日期组织到单独的存储桶中,显然我找不到这样做的方法。
表:
| Days | Category | Values |
| 2 | A | 20 |
| 4 | B | 50 |
| 6 | A | 100 |
| 2 | A | 70 |
| 1 | B | 220 |
| 9 | A | 130 |
| 7 | A | 45 |
| 1 | A | 90 |
| 5 | B | 280 |
| 5 | B | 10 |
| 8 | A | 70 |
| 9 | B | 50 |
| 0 | A | 120 |
| 3 | B | 115 |
| 0 | B | 25 |
| 3 | B | 10 |
| 6 | A | 55 |
我想要得到的结果是:
| Days | Category | Values |
| 0-4 | A | 300 |
| 0-4 | B | 420 |
| 5-9 | A | 400 |
| 5-9 | B | 340 |
根据我目前的知识,这就是我能达到的程度:
SELECT
Days, Category, Value
FROM
Table
GROUP BY
Days,
Category
当然,我不能创建日期桶。你能帮我解决这个问题吗?
发布于 2021-11-21 13:09:28
使用DIV运算符(DIV =整数除法。从除法结果中丢弃小数点右侧的任何小数部分):
SELECT CONCAT(
MIN(Days DIV 5) * 5,
' – ',
(MIN(Days DIV 5) + 1) * 5 - 1
) AS Days,
Category,
SUM(`Values`) AS `Values`
FROM `Table`
GROUP BY Days DIV 5,
Category
sqlfiddle
https://stackoverflow.com/questions/70054594
复制相似问题