我有一个这样的表:(请注意,名称不是唯一的,可以重复,而 Personal_ID 是唯一的)。
ID SourceID Personal_ID Name NumberOfPurchases
1 4 1001 Alex 10
2 2 1002 Sara 5
3 4 1001 Alex 12
4 1 1003 Mina 200
5 2 1002 Sara 20
6 2 1001 Alex 64
现在需要做的是根据给定的 SourceID 获取每个人购买的总数。这样我们就有了如下结果sourceId = 4
:
Name Total Number of Purchases
1. Alex 22
对于 SourceID = 2
Name Total Number of Purchases
1. Alex 64
2. Sara 25
为此,我想出了这样的事情:
SELECT Name,Sum(NumberOfPurchases) AS Total
FROM tblTEST
GROUP BY (Personal_ID)
HAVING (SOURCEID = @id)
但这显然是错误的。我被困在这里,如果我将其他字段添加到结果中group-by clause
,结果将完全不同,如果我不这样做,则此选择命令将不起作用。我怎样才能达到这样的结果?