Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Transpozycja wierszy do nagłówków w MYSQL

Oto dynamiczny sql do przestawiania rekordów,

SET @sql = NULL;

SELECT  GROUP_CONCAT(DISTINCT
        CONCAT('MAX(CASE WHEN date = ''',
               date,
               ''' THEN Value ELSE NULL END) AS ',
               CONCAT('`', date, '`')
               )) INTO @sql
FROM TableName
// WHERE date >= curdate() - interval 3 day  // add condition here
ORDER BY date;



SET @sql = CONCAT('SELECT ', @sql, ' 
                   FROM TableName');

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORDER_BY data LIMIT 1

  2. A.* nie znajduje się w GROUP BY z lewym sprzężeniem w konstruktorze zapytań laravel

  3. Zainstaluj mysqldb na śnieżnej pantery

  4. Użyj JDBC/Mysql Connector w intellij idea

  5. Flask-SQLAlchemy:nie można połączyć się ponownie, dopóki nieprawidłowa transakcja nie zostanie wycofana