您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL按行计数的模数分组

SQL按行计数的模数分组

我会定义一个表包含序列号,说11000和加入该表(除非你的数据库支持生成甲骨文使用类似查询这些号码CONNECT BY):

表号

n
1
2
3
...

我使用Oracle尝试了以下查询(也应与Tsql一起使用):

With summed_colors As (
  Select name, Sum(quantity) quantity
  From colors
  Group By name
)
Select
  name,
  Case When n*2-1 = quantity Then 1 Else 2 End quantityInPackage
From summed_colors
Join nums On ( n*2-1 <= quantity )
Order By name, quantityInPackage Desc

它返回

Blue   1
Red    2
Red    2
Red    1
Yellow 2
Yellow 1
SQLServer 2022/1/1 18:30:50 有444人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶