首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据按多列正确分组?

如何将数据按多列正确分组?
EN

Stack Overflow用户
提问于 2015-09-08 13:34:33
回答 2查看 30关注 0票数 0

我有一个代表音乐厅的数据库表,它看起来如下:

列:ActionID, RegionName, RowNumber, Price, Quantity

样本数据:

代码语言:javascript
复制
ActionID RegionName   RowNumber   Price Quantity
1         Region1        22       8000    7
1         Region1         -       8000    1
1         Region2        10       5000    2
1         Region2        10       5000    2
1         Region2        10       5000    1

我应该显示特定区域,每个区域的总数量按ActionID、RegionName、价格和数量分组。

代码语言:javascript
复制
1   Region1   22   8000   8
1   Region2   10   5000   5

如您所见,应该显示RowNumber,但在分组时没有考虑到。

我怎么能这么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-08 13:49:35

可以应用MAXMIN折叠行:

代码语言:javascript
复制
SELECT MAX(ActionID), RegionName, MAX(RowNumber), MAX(Price), SUM(Quantity)
FROM my_table
GROUP BY RegionName

如果每个区域有多个ActionIDRowNumberPrice,这显然会变得更加复杂。在这种情况下,只有当您不关心返回这些多个值中的哪个值时,才使用它。

票数 0
EN

Stack Overflow用户

发布于 2015-09-10 00:13:46

你可以用这样的东西:

代码语言:javascript
复制
SELECT ActionId,
        RegionName, 
        MAX(RowNumber),
        MAX(Price), 
        SUM(Quantity)
FROM #tblTest
GROUP BY ActionId, RegionName

但是如果有更多的RowNumber或Price,则应该修改查询

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

https://stackoverflow.com/questions/32459271

复制
相关文章

相似问题

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