gpt4 book ai didi

mysql - 如何使用MySQL中的列值为表中的每条记录生成多条记录?

转载 作者:行者123 更新时间:2023-11-29 12:09:03 24 4
gpt4 key购买 nike

考虑以下场景:

Area    Code    Count
BP 90-99 10
CL 78-87 10

我需要为这两个生成十条记录。

Area    Code
BP 90
BP 91
BP 92
BP 93
BP 94
BP 95
BP 96
BP 97
BP 98 and so on.

在oracle中,这可以通过使用connect by level轻松完成。如何使用 MySQL 执行此操作。请注意,我在第三列(称为计数)中确实有要进行的迭代次数。

最佳答案

您需要有一个数字表。这可以动态生成为派生表:

select area,
(substring_index(code, '-', 1) + n.n - 1) as code
from (select 1 as n union all select 2 union all select 3 union all
select 4 union all select 5 union all select 6 union all select 7 union all
select 8 union all select 9 union all select 10
) n join
scenario s
on n.n <= s.count;

您需要确保数字列表对于表中的最大计数来说足够大。如果您有可用的数字表,这会很方便。通常,auto_increment 列可以帮助生成这样的表。

关于mysql - 如何使用MySQL中的列值为表中的每条记录生成多条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31001298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com