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

MySql पंक्ति को स्तंभ में और स्तंभ को पंक्ति में स्थानांतरित करता है

आप इसे इस तरह से कर सकते हैं

SELECT month,
       MAX(CASE WHEN unit = 'CS-1' THEN value END) `CS-1`,
       MAX(CASE WHEN unit = 'CS-2' THEN value END) `CS-2`,
       MAX(CASE WHEN unit = 'CS-3' THEN value END) `CS-3`
  FROM
(
  SELECT unit, month,
         CASE month 
            WHEN 'JAN' THEN jan
            WHEN 'FEB' THEN feb
            WHEN 'MAR' THEN mar
            WHEN 'APR' THEN apr
            WHEN 'MAY' THEN may
            WHEN 'JUN' THEN jun
         END value
    FROM table1 t CROSS JOIN
  (
    SELECT 'JAN' month UNION ALL
    SELECT 'FEB' UNION ALL
    SELECT 'MAR' UNION ALL
    SELECT 'APR' UNION ALL
    SELECT 'MAY' UNION ALL
    SELECT 'JUN'
  ) c
) q
 GROUP BY month
 ORDER BY FIELD(month, 'JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN')

आउटपुट:

| MONTH | CS-1 | CS-2 | CS-3 |
|-------|------|------|------|
|   JAN |  100 |  111 |  331 |
|   FEB |  200 |  222 |  123 |
|   MAR |  300 |  333 |  423 |
|   APR |  400 |  444 |  923 |
|   MAY |  500 |  555 |  918 |
|   JUN |  600 |  666 |  123 |

यह रहा SQLFiddle डेमो




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MSSQL से MySQL में माइग्रेट कैसे करें

  2. MySQL में न्यूज़लेटर के लिए डेटाबेस डिज़ाइन करने के लिए मार्गदर्शिका

  3. mysql में एक बड़ी तालिका से यादृच्छिक पंक्ति का त्वरित चयन

  4. MySQL रिमोट एक्सेस के लिए एक SSH टनल बनाएं

  5. उपयोग किए गए सेलेक्ट स्टेटमेंट में कॉलम की एक अलग संख्या होती है (REDUX !!)