sql - 表查询的多个分组依据
问题描述
我有一张这样的桌子:
Month Type Price
============================
1 a 12
2 b 43
1 a 11
4 c 22
1 b 33
2 c 4
3 a 25
2 b 35
4 c 20
我想得到一个结果如下的查询:
Month Type Total Price
============================
1 a 23
1 b 33
2 b 78
2 c 4
3 a 25
4 c 44
意思是:价格是一个月内特殊类型的总价格。
例如,我们在“1”月和“3”中输入“a”,“1”月“a”的总价格为 23,“3”月为 25
我认为我们应该使用多个分组依据。我可以仅按类型或月份对其进行分组,但不能同时按两者进行分组。
谢谢你的帮助
解决方案
您可以在 GROUP BY 子句中指定表达式列表
SELECT Month, Type, SUM(Price) AS [Total Price]
FROM MyTable
GROUP BY Month, Type
ORDER BY Month, Type
在 GROUP BY 中,列出所有涉及的列,但应用了聚合函数(SUM、MIN、MAX、AVG 等)的列除外。
推荐阅读
- reactjs - 我缺少 React 按钮 onClick 的密钥 ID
- json - Express 服务器跳过 if 语句并发送对 POST 请求的响应
- python - 如何在 python 中获取 nodeJS 服务器使用 Bottle 发送的请求数据
- xamarin.forms - 基本请求 Xamarin Forms 的 FireStore 权限被拒绝
- c# - 无法使用帐户 NT AUTHORITY\SYSTEM 修改任务计划程序执行时的文件
- scala - 登录模块控制标志在 JAAS 配置中不可用 - Scala Kafka
- sql-server-ce - VS2010 Click Once Deployment with SQL Server CE 3.5 SP2 安装失败
- android - RetrofitException:预期的 URL 方案“http”或“https”,但未找到冒号
- react-native - 如何仅设置值编号或文本输入必须在文本输入中具有@ React NATIVE
- swift - MessageKit 聊天消息出现在同一侧