Here is the SQL Fiddle link.這裏的HAVING子句實際上在發生什麼?
根據我的理解,GROUP BY會返回2個元組。
MODEL ITEM_TYPE PRICE
---------------------------- ------------------------------------- ----------
010-99-0101 BACKPACK 5329.1
626-21-1500 BACKPACK 1485.86
平均價格的價值是,
AVG(PRICE)
----------
4858.014444
所以,下面的查詢應篩選出價格的較小值。
SELECT item_type, MODEL, items.price
FROM ITEMS
WHERE MANUFACTURER_NAME = 'UWZ'
AND ITEM_TYPE = 'BACKPACK'
GROUP BY item_type, items.price, MODEL
HAVING ITEMS.PRICE > AVG(ITEMS.PRICE);
因此,輸出應該是:
MODEL ITEM_TYPE PRICE
---------------------------- ------------------------------------- ----------
010-99-0101 BACKPACK 5329.1
但是,在現實中,下面是輸出:
輸出
no rows selected
您指定了錯誤的MFG。將其更改爲'XYZ' – 2016-01-21 19:59:06
您希望得到什麼輸出?爲什麼? –