2016-11-14 31 views
-1

我有一個包含多個付款的表格,其中有一個日期和一個staff_id。 我想每年獲得每個staff_id的付款總和。mysql爲多個用戶一次性選擇金額

例如:

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

見http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an -mcve-for-what-seem-to-me-to-a-very-simple-sql-query – Strawberry

+0

表的模式將在這裏非常有用 – Matthias

+0

好吧,將來會這樣做! – user7157554

回答

1

你只需將你的總和在今年和工作人員用ID都:

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

thx! 我很需要經常使用我的大腦...... – user7157554

+0

不用客氣。 – McNets