将int拆分为多行MYSQL

时间:2015-11-16 06:19:33

标签: mysql sql

我想使用mysql方法

拆分值
Example
ID|| Item name || Quantity
1 ||   ABC     ||    3
2 ||   DEF     ||    3

SELECT * from table

End up result wan to be like this 
1 ||   ABC     ||    3
1 ||   ABC     ||    3
1 ||   ABC     ||    3
2 ||   DEF     ||    3
2 ||   DEF     ||    3
2 ||   DEF     ||    3

将按数量循环所有结果

1 个答案:

答案 0 :(得分:0)

你需要一个数字表。有很多方法可以生成一个,你可以在stackoverflow上找到它们。为了这个目的,我在这里创建一个带有UNION的小版本,但创建一个永久版本可能是个好主意。

SELECT
Id, ItemName, Quantity
FROM
your_table
JOIN (SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) numbers 
ON numbers.n BETWEEN 1 AND your_table.Quantity;