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

3つの異なる日付間隔のデータで1つの列を数回表示する

    次を使用できます-CASEで集計関数を使用します ステートメント:

    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
    

    SQL Fiddle withDemo を参照してください。



    1. NodeJSはDockerコンテナ内のMYSQL最新バージョンに接続できませんでした

    2. PostgreSQL9.4でキャッシングcontribのpg_prewarmとpg_hibernatorを利用します。

    3. MySQLでのLOAD_FILE()関数のしくみ

    4. WindowsからSQLServerへのOracleの接続