在SQL中,GROUP BY和ORDER BY都是用來對查詢結果進行排序的,但是它們的作用和使用方式有所不同。
- GROUP BY:GROUP BY子句用于將查詢結果按照一個或多個列的值進行分組。它會將具有相同值的行歸為同一組,并對每個組進行聚合計算。GROUP BY通常與聚合函數(如COUNT、SUM、AVG等)一起使用,以便對每個組應用這些函數,并返回每個組的聚合結果。GROUP BY可以用來統計每個組的總數、平均值、最大/最小值等。在GROUP BY子句中,可以指定一個或多個列作為分組依據。
例如,下面的查詢將根據部門對員工進行分組,并計算每個部門的平均薪資:
SELECT department, AVG(salary)
FROM employees
GROUP BY department;
- ORDER BY:ORDER BY子句用于對查詢結果按照一個或多個列的值進行排序。它可以按照升序(ASC)或降序(DESC)對查詢結果進行排序,默認情況下是升序排序。ORDER BY通常在查詢的最后使用,用于對結果按照指定的列進行排序。
例如,下面的查詢將按照員工的薪資降序排列:
SELECT * FROM employees
ORDER BY salary DESC;
總結:
- GROUP BY用于將查詢結果按照指定列的值進行分組,并進行聚合計算。
- ORDER BY用于對查詢結果按照指定列的值進行排序。