我有一张包含多个付款的表格,其中包含日期和staff_id。 我想得到每年每个staff_id的付款总额。
例如:
2011 - Staff1 - 66$
2011 - Staff2 - 24$
2012 - Staff1 - 86$
2012 - Staff2 - 0$
我的想法是这样的:
SELECT
staff_id,
YEAR(p.payment_date),
sum(p.amount)
FROM
payment p
WHERE
staff_id = (SELECT p.staff_id FROM payment p GROUP BY p.staff_id)
GROUP BY
YEAR(p.payment_date);
这显然不起作用,因为(SELECT p.staff_id FROM payment p GROUP BY p.staff_id)
将返回多个值。
我该怎么做?
答案 0 :(得分:1)
您只需按年份和员工ID对您的金额进行分组:
SELECT
YEAR(p.payment_date),
staff_id,
sum(p.amount)
FROM
payment p
GROUP BY
YEAR(p.payment_date),
staff_id