爆炸以前在SQL中汇总数据

时间:2014-10-27 07:59:45

标签: mysql

我的数据如下:

Product        Quantity
A               3
B               2

这是之前在产品级别汇总的数据。假设现在只有两列。

我想要一个输出如下:

Product      Quantity
A            1
A            1
A            1
B            1
B            1

1 个答案:

答案 0 :(得分:0)

你可以使用这样的技巧:

SELECT Product, 1 AS Quantity
FROM
  Products INNER JOIN (
    SELECT 1 AS q UNION ALL
    SELECT 2 UNION ALL SELECT 2 UNION ALL
    SELECT 3 UNION ALL SELECT 3 UNION ALL SELECT 3
  ) quantities
  ON Products.Quantity = quantities.q

当然,此查询的数量限制为3,但如果数量有限,您可以向子查询中添加更多数量。