2016-05-31 94 views
0

我試圖計算一個客戶所做的所有購買的總和。使用金額和在哪裏

我有一個包含所有購買(CustomerID,ItemID,金額),客戶(客戶ID,姓名,地址)和項目(ID,價格)表的表格。

這是我目前最好的嘗試,但我得到一個錯誤,我如何使用羣(這是奇怪的自我)。

SELECT name,address 
    FROM (purchases as p join customer as c on p.customerID = c.customerID 
    join item as i on p.ean = i.ean) 
    where sum(i.outprice * p.amount) >2500 
    group by p.customerID; 

此查詢下面的工作完美。但是,所有我想要做的是隻顯示其中 總和(i.outprice * p.amount)> X對於任何給定X.

SELECT name,address,sum(i.outprice * p.amount) 
    FROM (purchases as p join customer as c on p.customerID = c.customerID 
    join item as i on p.ean = i.ean) 
    group by p.customerID; 

我應該如何去這樣做呢?

謝謝!

+0

一般GROUP BY規則說: 如果指定了GROUP BY子句,在SELECT列表中的每個列引用必須明確指出的一個分組列或者是一組函數的參數。 – jarlh

回答

2
SELECT name,address 
    FROM (purchases as p join customer as c on p.customerID = c.customerID 
    join item as i on p.ean = i.ean) 
    group by p.customerID 
having sum(i.outprice * p.amount) >2500 
+0

謝謝!奇蹟般有效。 – Elimination

+0

添加到上面的jarlh的註釋中,即使MySQL允許此查詢以正確的方式運行,也就是在「select」列表中說'min(address)'。 – shawnt00