SQL中order by和group by子句的区别
1. Order By
按关键字排序以升序或降序对结果集进行排序。默认情况下,此子句按升序对结果集进行排序。为了按降序对结果集进行排序,使用 DESC
关键字。
Order By 语法 –
SELECT column_1, column_2, column_3...........
FROM Table_Name
ORDER BY column_1, column_2, column_3....... ASC|DESC;
Table_Name: Name of the table.
ASC: keyword for ascending order
DESC: keyword for descending order
2. Group by
Group by 语句用于对具有相同值的行进行分组。它通常与聚合函数一起使用,例如:AVG()、MAX()、COUNT()、MIN() 等。关于 group by 子句要记住的一件事是,元组是根据属性值之间的相似性进行分组的 元组。
Group by语法 –
SELECT function_Name(column_1), column_2
FROM Table_Name
WHERE condition
GROUP BY column_1, column_2
ORDER BY column_1, column_2;
function_Name
:聚合函数的名称,例如:
SUM(), AVG(), COUNT() etc.
Table_Name: Name of the table.
下面来看看 Order by 和 group by 子句之间的区别:-
编号 | GROUP BY | ORDER BY |
---|---|---|
1 | Group by 语句用于对具有相同值的行进行分组。 | Order by 语句按升序或降序对结果集进行排序。 |
2 | CREATE VIEW 语句中可能允许。 | Order by 语句不在 CREATE VIEW 语句中使用。 |
3 | 在select语句中,总是用在order by关键字之前。 | 在 select 语句中,它总是在 group by 关键字之后使用。 |
4 | 属性不能在聚合函数下的group by语句中。 | 在 order by statement 中,属性可以在聚合函数下。 |
5 | 在group by子句中,根据元组属性值的相似性对元组进行分组。 | 在 order by 子句中,结果集是根据升序或降序排序的。 |
6 | Group by 控制元组(行)的表示。 | order by 子句控制列的显示。 |