在Oracle中,可以使用GROUP BY子句來對數據進行分組。在分組后,可以使用HAVING子句來進行同組比較。
以下是一個示例查詢,演示如何對員工表進行按部門分組,并比較每個部門的平均工資:
SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5000;
在上面的查詢中,首先使用GROUP BY子句按部門分組,然后計算每個部門的平均工資。最后,使用HAVING子句篩選出平均工資大于5000的部門。
請注意,如果要進行同組比較,必須使用HAVING子句而不是WHERE子句。因為WHERE子句在分組之前過濾數據,而HAVING子句在分組之后過濾數據。