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

MySQLピボットクエリ

    集計関数MAXを使用するだけです たとえば、正常に機能しますが、SUMを使用する必要がある場合があります 毎月の合計を取得する必要がある場合、ps_target_ecpmに複数のエントリがある場合 毎月。このように:

    SELECT
      MAX(CASE WHEN MONTH(ps_month) = 4 THEN ps_target_ecpm ELSE 0 END) AS april_target_ecpm, 
      MAX(CASE WHEN MONTH(ps_month) = 4 THEN ps_actual_ecpm ELSE 0 END) AS april_actual_ecpm,
      MAX(CASE WHEN MONTH(ps_month) = 3 THEN ps_target_ecpm ELSE 0 END) AS march_target_ecpm, 
      MAX(CASE WHEN MONTH(ps_month) = 3 THEN ps_actual_ecpm ELSE 0 END) AS march_actual_ecpm 
    FROM publisher_stats
    JOIN domain ON domain.dmn_id = ps_dmn_id
    LEFT JOIN langue ON langue.lng_id = domain.default_lng_id
    



    1. 大きな数をサポートする自然順

    2. ORA-01653:表領域で表を拡張できませんORA-06512

    3. 内部結合とin()句のパフォーマンスはどこですか?

    4. foreachループのPDO::bindParam、すべての値が同じように設定されていますか?