我有一个代表音乐厅的数据库表,它看起来如下:
列:ActionID, RegionName, RowNumber, Price, Quantity
样本数据:
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、价格和数量分组。
1 Region1 22 8000 8
1 Region2 10 5000 5如您所见,应该显示RowNumber,但在分组时没有考虑到。
我怎么能这么做?
发布于 2015-09-08 13:49:35
可以应用MAX或MIN折叠行:
SELECT MAX(ActionID), RegionName, MAX(RowNumber), MAX(Price), SUM(Quantity)
FROM my_table
GROUP BY RegionName如果每个区域有多个ActionID、RowNumber或Price,这显然会变得更加复杂。在这种情况下,只有当您不关心返回这些多个值中的哪个值时,才使用它。
发布于 2015-09-10 00:13:46
你可以用这样的东西:
SELECT ActionId,
RegionName,
MAX(RowNumber),
MAX(Price),
SUM(Quantity)
FROM #tblTest
GROUP BY ActionId, RegionName但是如果有更多的RowNumber或Price,则应该修改查询
https://stackoverflow.com/questions/32459271
复制相似问题