sql >> Databasteknik >  >> RDS >> Mysql

visar en kolumn flera gånger med data från 3 olika datumintervall

Du kan använda följande - som använder en aggregatfunktion med en CASE uttalande:

select p.name,
  v.v_name,
  sum(case when Month(py.pay_date) = 4 then amount end) april_amount,
  sum(case when Month(py.pay_date) = Month(curdate())
        then amount end) current_month_amount,
  sum(case when Month(py.pay_date) = Month(curdate())-1
        then amount end) previous_month_amount
from persons p
left join vehicle v
  on p.id = v.person_veh
left join payment py
  on p.id = py.person_id
group by p.name,
  v.v_name

se SQL-fiol med demo



  1. Räknar alla rader med specifika kolumner och grupperar efter vecka

  2. MySQL RAND() Funktion – Generera ett slumptal i MySQL

  3. MySQL-Python installation - Kunde inte bygga ägget

  4. PostgreSQL + Hibernate + Spring automatiskt skapa databas