我试图避免MySQL联合查询中的代码重复,并且想知道是否有办法参数化这样的查询。基本上,我的查询是这样的(B有一个取决于日期的if条件,但我为了简洁而跳过它)
select month(A), sum(B) from T where xyz
union
select month(date_diff(A, interval 1 month)), sum(B) from T where xyz
union
select month(date_diff(A, interval 2 month)), sum(B) from T where xyz
.......
B和xyz是相当长的语句,唯一改变的是每个语句中的日期(日期影响B,但不影响条件xyz)。有没有更好的方法来消除代码重复?