mysql为多个用户选择一个sum

时间:2016-11-14 15:37:05

标签: mysql sql

我有一张包含多个付款的表格,其中包含日期和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)将返回多个值。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您只需按年份和员工ID对您的金额进行分组:

SELECT 
    YEAR(p.payment_date), 
    staff_id, 
    sum(p.amount)
FROM 
    payment p 
GROUP BY 
    YEAR(p.payment_date),
    staff_id