postgresql中的sql语句group by和order by先执行哪一个
时间: 2023-08-15 15:05:10 浏览: 266
sql中 order by 和 group by的区别
5星 · 资源好评率100%
在 PostgreSQL 中,SQL 语句中的 `GROUP BY` 和 `ORDER BY` 子句是按照以下顺序执行的:
1. `FROM` 子句:指定要查询的表或视图。
2. `WHERE` 子句:筛选行。
3. `GROUP BY` 子句:按照指定的列对结果进行分组。
4. `HAVING` 子句:筛选分组后的结果。
5. `SELECT` 子句:选择要返回的列。
6. `ORDER BY` 子句:按照指定的列对结果进行排序。
7. `LIMIT` 子句:限制返回结果的数量。
所以,在执行顺序上,`GROUP BY` 子句会在 `ORDER BY` 子句之前执行。首先,数据将按照 `GROUP BY` 中指定的列进行分组,然后在每个分组内部进行排序。最后,整个结果集将按照 `ORDER BY` 中指定的列进行排序。
阅读全文