Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कॉलम में पूर्णांक मान के आधार पर परिणाम में पंक्तियों को दोहराएं

मुझे लगता है, क्वेरी (एसक्यूएल) के साथ हल करना बेहतर है। कुछ पीढ़ी की सुविधा है, लेकिन इसका प्रदर्शन खराब है।

आपको अपना मॉडल बदलना होगा (हमेशा 1 मात्रा स्टोर करें), या इसे बैकएंड में संसाधित करें (जावा/सी/एसटीबी।)

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)

शामिल सबक्वेरी ने 0 से 99999 तक की संख्याओं को फिर से दोहराया, यह मात्रा के लिए अधिकतम बर्न है। जॉइन रिपीट बाई काउंटर 0... मात्रा-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. MySQL:तालिका में प्रत्येक समूह के लिए nवां उच्चतम मान प्राप्त करें

  2. MySQL में क्रॉस/आउटर अप्लाई

  3. MySQL पर दो तिथियों के बीच अंतर के दिनों की संख्या कैसे प्राप्त करें?

  4. ORDER BY और GROUP BY का एक साथ उपयोग करना

  5. पहला सामान्य रूप और पहला और अंतिम नाम