我试图获得过去 2 个月的平均值,但不是基于 CURDATE()/NOW()。这取决于用户在应用程序中查看的月份:
例如:如果我查看 5 月,我会想要 4 月和 3 月的平均值。如果我在看 2 月,我会想要 1 月和 12 月(上一年)的平均值。
我有一个接受用户所在页面的月份和年份的函数(它也接受 emp_id,但这与这个问题无关)。
public function getProtectedAmt($month,$year,$id){
$query = "SELECT avg(total_payout) as avg_payout FROM saved_plan_data WHERE emp_id = '$id' AND //this is where i dont know what to query for";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
return $row['avg_payout'];
}
在表saved_plan_data中,有字段plan_month和plan_year存储员工的 total_payout 保存的月份/年份的 INT 值。
如何编写 WHERE 子句以获取前 2 个月的 AVG,具体取决于 $month 和 $year 的值是什么?