sql >> Database teknologi >  >> RDS >> Mysql

MySQL pivotforespørgsel

Brug blot en aggregeret funktion, MAX fungerer fint, men du skal muligvis bruge SUM hvis du har brug for at få totalen for hver måned, hvis der er flere poster for ps_target_ecpm for hver måned. Sådan:

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. Ekko/retur tilføjer mellemrum før variabel

  2. Hvordan får jeg Java- og Postgres-enums til at fungere sammen til opdatering?

  3. CAST() Funktion i Oracle

  4. Hvordan kan jeg få en almindelig tekst postgres database dump på heroku?