我有一張表o員工包含姓名,工作日期和一些更多信息。ORACLE 12c - 「不是單一羣體功能」
我想檢查大部分僱員是哪一年受僱的。
我編寫一個查詢其每年算上就業:此查詢的
SELECT EXTRACT (YEAR FROM e1.empl_date) AS YEAR, COUNT(e1.id_empl) AS EMPL_NUMBER
FROM employees e1
GROUP BY EXTRACT (YEAR FROM e1.empl_date);
而且結果是元組:
YEAR | EMPL_NUMBER
1993 | 3
1997 | 2
等等...
現在我想獲得EMPL_NUMBER的最大值:
SELECT YEAR, MAX(EMPL_NUMBER)
FROM (SELECT EXTRACT (YEAR FROM e1.empl_date) AS YEAR, COUNT(e1.id_empl) AS EMPL_NUMBER
FROM employees e1
GROUP BY EXTRACT (YEAR FROM e1.empl_date));
然後我得到一個錯誤:
ORA-00937: not a single-group group function
我不明白爲什麼我得到一個錯誤,因爲子查詢返回2列元組。
該查詢返回與子查詢相同的結果。 – user
但您沒有錯誤... ..正確嗎? – scaisEdge
答案更新爲獲取最大年份(EMPL_NUMBER) – scaisEdge