Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lặp lại các hàng trong kết quả dựa trên một giá trị số nguyên trong cột

Tôi nghĩ, tốt hơn là nên giải quyết không bằng truy vấn (SQL). Có một số tính năng tạo, nhưng hiệu suất của nó kém.

Bạn phải thay đổi mô hình của mình (lưu trữ luôn 1 số lượng) hoặc xử lý trong phần phụ trợ (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)

Truy vấn con đã tham gia đã thu thập các số từ 0 đến 99999, đó là mức ghi tối đa cho số lượng. Phép nối lặp lại bởi bộ đếm 0 ... số lượng-1 giá trị.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt nhất để xử lý mối quan hệ Nhiều-Nhiều trong PHP MySQL

  2. Gọi đến một hàm thành viên rowCount () trên một đối tượng không phải

  3. Làm thế nào để đọc cột và ô cụ thể trong mysql trong c #?

  4. Làm thế nào để phát hiện ký tự Trung Quốc trong MySQL?

  5. Kết nối JDBC MySQL bằng Unix Socket