如何从 MySQL 中的数字创建一组行
How to create a set of rows from a number in MySQL
我有一个 select 语句,结果如下 table
name count
A 2
B 1
C 3
D 2
这些数字是计数操作的结果。我想要的是:
name number
A 1
A 2
B 1
C 1
C 2
C 3
D 1
D 2
结果table应该有从1到计数的数字。
如何使用 SQL(-function) 或临时 table 或任何其他方式完成此操作?
您需要获取整数的枚举列表。如果您的 table 足够大,您可以使用它:
select t.name, n.n
from (select @rn := @rn + 1 as n
from t cross join
(select @rn := 0) vars
) n join
t
on n.n <= t.count;
我有一个 select 语句,结果如下 table
name count
A 2
B 1
C 3
D 2
这些数字是计数操作的结果。我想要的是:
name number
A 1
A 2
B 1
C 1
C 2
C 3
D 1
D 2
结果table应该有从1到计数的数字。 如何使用 SQL(-function) 或临时 table 或任何其他方式完成此操作?
您需要获取整数的枚举列表。如果您的 table 足够大,您可以使用它:
select t.name, n.n
from (select @rn := @rn + 1 as n
from t cross join
(select @rn := 0) vars
) n join
t
on n.n <= t.count;