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

MySQL डायनेमिक पिवट टेबल

चूंकि मान int . में हैं आप उन्हें कॉलम नाम बना रहे हैं, आपको मानों को बैकटिक में लपेटना होगा

एसक्यूएल इस तरह दिखेगा:

max(case when user_id = 1 then score end) as `1`

पूरी क्वेरी होगी:

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'max(case when user_id = ''',
      user_id,
      ''' then score end) AS `',
      user_id, '`'
    )
  ) INTO @sql
FROM  measure2;

SET @sql = CONCAT('SELECT inspection_date, ', @sql, ' 
                  FROM measure2 
                  GROUP BY inspection_date');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

देखें SQL Fiddle with Demo




  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. JSON_SEARCH () - MySQL में JSON दस्तावेज़ में एक स्ट्रिंग का पथ खोजें

  4. MySQL सीमा के भीतर निर्देशांक का चयन करें

  5. कैसे हल करें प्रमाणीकरण प्लगइन लोड करने में असमर्थ 'caching_sha2_password' समस्या