我已經在oracle數據庫中寫了這個查詢。以下查詢有什麼問題?
Select salary from emp having salary < (SELECT MAX(SALARY) FROM EMP));
http://sqlfiddle.com/#!4/47961/13
但它無法正常工作。
我在哪裏錯了?
我已經在oracle數據庫中寫了這個查詢。以下查詢有什麼問題?
Select salary from emp having salary < (SELECT MAX(SALARY) FROM EMP));
http://sqlfiddle.com/#!4/47961/13
但它無法正常工作。
我在哪裏錯了?
Select salary from emp where salary < (SELECT MAX(SALARY) FROM EMP));
可以適用,如果你通過使用組having
條款,這裏也沒有組比只使用where
HAVING子句已添加到SQL,因爲WHERE關鍵字不能用於聚合函數。在甲骨文
+1:實際解釋爲什麼 – Tikkes
@Downvoter - 在低估答案之前敢於給出理由 –
的事情要做,
WHERE
如。
Select salary
FROM emp
WHERE salary < (SELECT MAX(SALARY) FROM EMP);
兩個錯誤:
WHERE
,而不是HAVING
。試試這個:
SELECT salary
FROM emp
WHERE salary < (SELECT MAX(salary) FROM emp);
Select salary from emp WHERE SALARY < (SELECT MAX(SALARY) FROM EMP);
正確的方式使用具有:
SELECT sal FROM scott.emp
GROUP BY sal
HAVING sal < (SELECT MAX(SAL) FROM scott.EMP)
/
SELECT deptno, COUNT(*) total_emps_by_dept
FROM scott.emp
GROUP BY deptno
HAVING COUNT(*) > 1
/
));應該 );我相信。 – Oren
'having'與'GROUP BY'組合使用來縮小結果 – Tikkes
您可以應用您使用group by的子句,這裏沒有任何group by只用在哪裏 –