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

विशिष्ट क्रम में कॉलम नामों के रूप में गतिशील पंक्ति मानों का चयन करें

आप ORDER BY start_time ASC adding जोड़कर ऐसा कर सकते हैं आपके GROUP_CONCAT . में समारोह

SET @sql = NULL;

SELECT GROUP_CONCAT(DISTINCT
  CONCAT('MAX(CASE WHEN job_id = ''',
         job_id, 
         ''' THEN start_time END) `',
         job_id,
         '_start`',
         ',',
         'MAX(CASE WHEN job_id = ''',
         job_id,
         ''' THEN end_time END) `',
         job_id,
         '_end`' 
         )
          ORDER BY start_time ASC        
 )
  INTO @sql
  FROM t;

SET @sql = CONCAT('SELECT exec_id, ', @sql, ' 
                     FROM t 
                    GROUP BY exec_id');

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

Fiddle 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. सॉकेट.आईओ नोड.जेएस और आने वाले संदेशों का उपयोग करके अधिसूचना प्रणाली के लिए आर्किटेक्चर कार्यान्वयन और डिजाइन

  2. जब तक मैं मैन्युअल रूप से ANALYZE TABLE `myTable` नहीं चलाता, MySQL info_schema को अपडेट नहीं कर रहा है

  3. अभी () फ़ंक्शन में 6 घंटे जोड़ें

  4. MySQL current_timestamp द्वारा पिछले महीने के डेटा का चयन करें

  5. Laravel Eloquent में कुछ फ़ील्ड्स का चयन कैसे करें?