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

SQL転置行を列として

    使用:

      SELECT r.user_id,
             MAX(CASE WHEN r.question_id = 1 THEN r.body ELSE NULL END) AS "Do you like apples?",
             MAX(CASE WHEN r.question_id = 2 THEN r.body ELSE NULL END) AS "Do you like oranges?",
             MAX(CASE WHEN r.question_id = 3 THEN r.body ELSE NULL END) AS "Do you like carrots?"
        FROM RESPONSES r
        JOIN QUESTIONS q ON q.id = r.question_id
    GROUP BY r.user_id
    

    データを行から列データに「ピボット」するため、これは標準のピボットクエリです。



    1. PHPを使用してチェックボックスを選択し、複数の行を削除します

    2. アプリケーションが起動するたびにSQLiteテーブルを作成する必要が本当にありますか?

    3. 上位nパーセント上位n%

    4. MySQL8.0で変更されたロールの使用方法