sql >> Database >  >> RDS >> Mysql

meerdere keren één kolom weergeven met gegevens van 3 verschillende datumintervallen

U kunt het volgende gebruiken - dat een aggregatiefunctie gebruikt met een CASE verklaring:

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

zie SQL Fiddle met demo



  1. Verschil van twee datums in sql-server

  2. Standalone MySQL-server

  3. Hoe grafiek/hiërarchische gegevens opvragen in mysql

  4. De werkbalk Snelle toegang weergeven of zichtbaar maken in Word, Excel en PowerPoint