1

こんにちは私は1年間隔のcaseステートメントを書き込もうとしています。この場合、年は4月に始まり、翌年の3月に終わりますが、たとえば今年の3月を入力すると、昨年の終わりになります。そのため、今年は昨年の4月から始まりました。

ここでsqlfiddleを見てください

これは私がこれまでに持っているコードです、注意してください

sum(case 
        when Month(py.pay_date) = 4 interval())1 year
        then amount end) yearly_amount

これは私が大きな問題を抱えているところです

4

1 に答える 1

4

これを今年の計算に使用できますyearly_amount(4月に開始し、翌年の3月の終わりに終了します)。

sum(case 
        when py.pay_date >= STR_TO_DATE(CONCAT(YEAR(NOW()), '-04-01'), '%Y-%m-%d') and
             py.pay_date <  STR_TO_DATE(CONCAT(YEAR(NOW()), '-04-01'), '%Y-%m-%d') + interval 1 year
             then amount
        end) yearly_amount

SQLFiddleデモ

于 2012-08-28T21:53:40.813 に答える