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

एसक्यूएल:पंक्तियों को MySQL में कॉलम में बदलना (चयन कथन)

आप इस प्रकार की धुरी के लिए चर का उपयोग कर सकते हैं, लेकिन क्वेरी थोड़ी अधिक जटिल है, क्योंकि आपको प्रत्येक आदेश के लिए मानों की गणना करने की आवश्यकता है:

SELECT o.order_id,
       MAX(case when rank = 1 then created_at end) as created_at_1,
       MAX(case when rank = 1 then email end) as email_1,
       MAX(case when rank = 1 then content end) as content_1,
       MAX(case when rank = 2 then created_at end) as created_at_2,
       MAX(case when rank = 2 then email end) as email_2,
       MAX(case when rank = 2 then content end) as content_2,
FROM orders o LEFT JOIN
     (SELECT oc.*,
             (@rn := if(@o = order_fk, @rn + 1,
                        if(@o := order_fk, 1, 1)
                       )
             ) as rank
      FROM order_comments oc CROSS JOIN
           (SELECT @rn := 0, @o := 0) vars
      ORDER BY order_fk, created_at
     ) oc
     ON o.order_id = oc.order_fk
GROUP BY o.order_id;



  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 क्वेरी कैसे करें?

  2. MySQL कस्टम प्राथमिक कुंजी जनरेटर

  3. जावा MySQL टाइमस्टैम्प समय क्षेत्र की समस्याएं

  4. MySQL वर्कबेंच का उपयोग करके आयात करना... त्रुटि त्रुटि 1046 (3D000)

  5. MySQL कॉलम में रैंडम नंबर