首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Group by与在SQL查询中创建的类别

Group by与在SQL查询中创建的类别
EN

Stack Overflow用户
提问于 2021-11-21 12:38:44
回答 1查看 43关注 0票数 0

我有一个表格,我想要按类别和日期进行分组,但是我想将日期组织到单独的存储桶中,显然我找不到这样做的方法。

表:

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

我想要得到的结果是:

代码语言:javascript
运行
复制
| Days       | Category    | Values        |
|        0-4 |           A |           300 |
|        0-4 |           B |           420 |
|        5-9 |           A |           400 |
|        5-9 |           B |           340 |

根据我目前的知识,这就是我能达到的程度:

代码语言:javascript
运行
复制
SELECT
 Days, Category, Value
FROM
 Table
GROUP BY
 Days,
 Category

当然,我不能创建日期桶。你能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2021-11-21 13:09:28

使用DIV运算符(DIV =整数除法。从除法结果中丢弃小数点右侧的任何小数部分):

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70054594

复制
相关文章

相似问题

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