我們的任務是如果可能的話,用WHERE替換GROUP BY和HAVING子句。 SQL代碼如下:SQL- WHERE和HAVING
SELECT Sparte , Region , SUM(Umsatz)
FROM Fakten
GROUP BY Sparte , Region
HAVING SUM(Umsatz) >= 50000
是否有可能使用WHERE更改最後兩行?如果不是,爲什麼? 謝謝您的期待。
我們的任務是如果可能的話,用WHERE替換GROUP BY和HAVING子句。 SQL代碼如下:SQL- WHERE和HAVING
SELECT Sparte , Region , SUM(Umsatz)
FROM Fakten
GROUP BY Sparte , Region
HAVING SUM(Umsatz) >= 50000
是否有可能使用WHERE更改最後兩行?如果不是,爲什麼? 謝謝您的期待。
如果你真的需要使用WHERE
代替HAVING
SELECT * FROM (
SELECT Sparte , Region , SUM(Umsatz) as S_Umsatz
FROM Fakten
GROUP BY Sparte , Region
) d
WHERE S_Umsatz >= 50000
這就是我所尋找的。非常感謝你! – Blnpwr
WHERE
將篩選根據實際行GROUP BY
踢後
HAVING
將過濾在
兩者有不同的使用情況
編輯如果你想使用子查詢,你可以做
SELECT Sparte, Region , SUM(Umsatz)
FROM Fakten
WHERE (SELECT SUM(Umsatz)
FROM Fakten as F2
WHERE F2.Sparte = Fakten.Sparte
AND F2.Region = Fakten.Region) >= 50000
GROUP BY Sparte, Region
或Matteo的方式(更高效和優雅)
你不能在'用'GROUP BY'功能WHERE'條款,所以沒有,除非你的內部查詢。 –
爲什麼你需要這樣做?想要這個的動機是什麼? –
我需要這樣做是因爲任務:D個人而言,我不需要這個,但是,這是一項任務。 – Blnpwr