我正在做一些關於NORTHWND db的基本練習。我想執行以下代碼:選擇記錄值<avg() - 不正確的結果
SELECT
sum(SaleAmount) AS SaleAmount
, CompanyName
FROM [Sales Totals by Amount]
where [SaleAmount] >
(
Select
avg(SaleAmount) as SaleAmount
from [Sales Totals by Amount]
)
group by CompanyName
平均值等於4409,4948。當我試圖讓值大於平均值時,結果是正確的。當我試圖讓值低於平均值時,它會返回低於平均值和高於平均值的值。 如果您指出我的錯誤在哪裏,我將不勝感激。
你知道'WHERE SaleAmount>'使用的是基列,而不是'SUM(SaleAmount)',對嗎?您可以通過爲表達式使用更好的別名來避免這種歧義,例如'TotalSaleAmount'。 – 2015-02-23 20:24:42
它正在返回'sum(SaleAmount)'。該數量取決於應用「where」過濾器後數據中的行數。 – 2015-02-23 20:25:02
您是否試圖獲得'SaleAmount'的值的總和?*個體值*大於平均值,或者總和大於平均值? – 2015-02-23 21:26:07