【问题标题】:Mysql needs to duplicate records using select queryMysql 需要使用选择查询来复制记录
【发布时间】:2013-12-04 06:52:37
【问题描述】:

我有一个如下表,

   | ID |   TITLE   |  NUMBER_OF_REPEAT
   |  1 |   post1   |         2
   |  2 |   post2   |         1
   |  3 |   post3   |         3

从上表中,我需要一个选择查询来根据 NUMBER_OF_REPEAT 字段生成行。

预期输出,

   | ID |   TITLE   
   |  1 |   post1 
   |  1 |   post1   
   |  2 |   post2   
   |  3 |   post3 
   |  3 |   post3 
   |  3 |   post3   

这种重复也应该支持分页。请帮帮我。

提前致谢。

【问题讨论】:

标签: mysql


【解决方案1】:

类似的东西

SQL Fiddle

create table numbers (number int);

insert into numbers 
select 1
union 
select 2
union 
select 3;

SELECT id, title
FROM tabl
    JOIN Numbers 
        ON tabl.repeater >= Numbers.number
order by id

它很乱,但修改数字表以获得更多重复。

SQL Fiddle

【讨论】:

    【解决方案2】:

    我认为 DBMS 不应该这样做。这可以在程序中完成。 但是您可以创建另一个只有两行的表并与 post 表连接

    假设表 dup 有两行。

    SELECT ID ,TITLEfrom post, dup
    

    【讨论】:

      猜你喜欢
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 2019-06-10
      • 1970-01-01
      • 2015-04-12
      相关资源
      最近更新 更多