Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie przestawne MySQL

Po prostu użyj funkcji agregującej MAX na przykład będzie działać dobrze, ale może być konieczne użycie SUM jeśli chcesz uzyskać sumę za każdy miesiąc, jeśli istnieje wiele wpisów dla ps_target_ecpm za każdy miesiąc. Tak:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowywanie numerów kart kredytowych w SESSION - sposoby na obejście tego?

  2. Pymysql Cursor.fetchall() / Fetchone() Zwraca Brak

  3. Automatyczne inkrementowanie id z sekwencją w MySQL

  4. Jak uzyskać nazwy kolumn z danej tabeli MySQL?

  5. Session_start Szczegóły profilu użytkownika