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

BigQuery / SQLで大量のデータを含む列に行を転置するにはどうすればよいですか?

    STEP #1
    

    以下のクエリでyourTableを置き換えます テーブルの実際の名前を使用して実行/実行します

    SELECT 'SELECT CustomerID, ' + 
       GROUP_CONCAT_UNQUOTED(
          'MAX(IF(Feature = "' + STRING(Feature) + '", Value, NULL))'
       ) 
       + ' FROM yourTable GROUP BY CustomerID'
    FROM (SELECT Feature FROM yourTable GROUP BY Feature) 
    

    その結果、次のステップで使用する文字列を取得できます。

    STEP #2
    

    手順1で取得した文字列を取得し、クエリとして実行します
    出力は質問したピボットです



    1. mysqlの制限を使用して複数の行を更新しますか?

    2. 非表示の機能:ファイル間でアクセスオブジェクトをドラッグアンドドロップします

    3. 内側のSELECTに無効な識別子が含まれている場合、外側のSELECTを強制的に失敗させます

    4. Oracleは列を最初の位置に移動します