我们的任务是如果可能的话,用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