gpt4 book ai didi

mysql - 仅使用 mySQL 扩展 mySQL 表

转载 作者:行者123 更新时间:2023-11-29 07:05:52 24 4
gpt4 key购买 nike

假设我有一个 mySQL 表,其结构如下:

mysql> select * from things_with_stuff;
+----+---------+----------+
| id | counter | quantity |
+----+---------+----------+
| 1 | 101 | 1 |
| 2 | 102 | 2 |
| 3 | 103 | 3 |
+----+---------+----------+

我的目标是“扩展”表格,所以我最终得到类似的东西:

mysql> select * from stuff;
+----+---------+
| id | counter |
+----+---------+
| 1 | 101 |
| 2 | 102 |
| 3 | 102 |
| 4 | 103 |
| 5 | 103 |
| 6 | 103 |
+----+---------+

而且我想只使用 mysql 来做这个“扩展”。请注意,我以每个数量和每个柜台结束一行。有什么建议么?存储过程在这里不是一个选项(我知道他们提供 while 循环)。

谢谢!

最佳答案

只要 some_large_table 的长度大于或等于 things_with_stuff 中最大的 quantity,下面的代码就可以实现。例如,让 some_large_table 成为数据仓库中的大事实表。

SELECT @kn:=@kn+1 AS id, counter
FROM (SELECT @kn:=0) k, things_with_stuff ts
INNER JOIN (
SELECT @rn:=@rn+1 AS num
FROM (SELECT @rn:=0) t, some_large_table
) nums ON num <= ts.quantity;

关于mysql - 仅使用 mySQL 扩展 mySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7264774/

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