Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Ulangi baris dalam hasil berdasarkan nilai integer di kolom

Saya pikir, lebih baik untuk menyelesaikan bukan dengan query(SQL). Ada beberapa fitur generasi, tetapi kinerjanya buruk.

Anda harus mengubah model Anda (simpan selalu 1 kuantitas), atau proses di 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)

Subquery yang bergabung mengulangi nomor dari 0 hingga 99999, ini adalah jumlah maksimum yang dibakar. Penggabungan diulangi oleh penghitung 0... nilai kuantitas-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. Ekstrak bidang baris MySQL ke dalam variabel dan array PHP

  2. MYSQL sum() untuk baris yang berbeda

  3. memilih urutan nilai yang berbeda berdasarkan desc

  4. Rekaman aktif di codeigniter

  5. SQL SELECT ORDER BY beberapa kolom tergantung pada nilai kolom lainnya