sql >> Databáze >  >> RDS >> Mysql

Opakujte řádky ve výsledku na základě celočíselné hodnoty ve sloupci

Myslím, že je lepší neřešit pomocí dotazu (SQL). Existuje určitá funkce generování, ale její výkon je slabý.

Musíte změnit svůj model (ukládat vždy 1 množství) nebo jej zpracovat v backendu (java/c/stb.)

Select id, 
       1 as quantity, 
       price_charged 
from table_name t
JOIN 
(SELECT e*10000+d*1000+c*100+b*10+a n FROM
(select 0 a union all select 1 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) t1,
(select 0 b union all select 1 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) t2,
(select 0 c union all select 1 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) t3,
(select 0 d union all select 1 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) t4,
(select 0 e union all select 1 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) t5) counter
ON (counter.n<=t.quantity)

Připojený poddotaz opakoval čísla od 0 do 99999, což je maximální množství. Opakuje se spojení podle hodnot čítače 0... množství-1.



  1. Mysqli_connect nefunguje

  2. Odstraňte informace MySQL v tabulce pomocí úloh Cron

  3. Jak navrhnout filmovou databázi?

  4. Jak vygenerovat celý databázový skript v MySQL Workbench?