如何从 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;