sql >> データベース >  >> RDS >> Mysql

MYSQLで行をヘッダーに転置する

    これがレコードをピボットする動的SQLです

    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. Oracle 12cでCLOBとして格納されているJSON配列の要素数を取得するにはどうすればよいですか?

    2. 2列の重複データの挿入を防ぐためのトリガー

    3. MySQLフルテキスト特殊文字の処理

    4. Oracle:Oracle SQLで16進数を10進数に変換するにはどうすればよいですか?