Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Powtórz wiersze w wyniku na podstawie liczby całkowitej w kolumnie

Myślę, że lepiej jest rozwiązać nie za pomocą zapytania (SQL). Jest jakaś funkcja generowania, ale jej wydajność jest słaba.

Musisz zmienić model (przechowywać zawsze 1 ilość) lub przetworzyć go w backend (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)

Połączone podzapytanie powtórzyło liczby od 0 do 99999 jest to maksymalna liczba wypalonych. Sprzężenie powtarzane przez licznik 0... wartości -1.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Problem z MySQL:LEFT JOIN na pustej tabeli

  2. Wyłącz dostęp do bazy danych

  3. wydajność socket.io jeden emit na wiersz bazy danych

  4. Dlaczego otrzymuję błąd JPEG 42, gdy jest on przechowywany w bazie danych?

  5. zmień auto_increment w tej samej tabeli za pomocą podzapytania mysql