我有一个具有类似模式的表:
basket_id | product | volume
101 | apple | 3
102 | apple | 2
102 | orange | 2
我正在尝试将表“解组”或“取消聚合”为以下内容。
期望输出:
basket_id | product | volume
101 | apple | 1
101 | apple | 1
101 | apple | 1
102 | apple | 1
102 | apple | 1
102 | orange | 1
102 | orange | 1
我试过一些工会和案件陈述,但没有一个能给我想要的结果。
2条答案
按热度按时间drkbr07n1#
基本上,你需要一个序列号。如果您的table足够大(如您的情况),您可以直接使用它:
如果表不够大,可能会有一个数字表或更大的表隐藏在周围。否则,您可以用
join
s。xqnpmsa82#
解决这个问题的方法是生成一个数字列表,然后将其合并:
您可以扩展
unioned
根据需要使用更多数字的子查询。