SQL中order by和group by子句的区别

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 子句控制列的显示。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程