1. order by:
用途:
- 主要用于对查询结果进行排序。
- 返回的结果集是全局有序的。
SELECT * FROM employees ORDER BY salary DESC;
2. SORT BY
用途:
- 主要用于对分布式查询结果进行排序。
- 每个节点(分区)分别进行排序,但返回的结果集不一定全局有序。
- 适用于Hive等大数据处理系统。
SELECT * FROM employees SORT BY salary DESC;
3. DISTRIBUTE BY
用途:
- 用于在分布式环境中将数据分布到不同的节点上。
- 使得数据可以基于某一列的值分布,以提高查询效率。
- 通常与
SORT BY
结合使用。
SELECT * FROM employees DISTRIBUTE BY department_id SORT BY salary DESC;
4. GROUP BY
用途:
- 用于将结果集中的行分组,以便对每个组应用聚合函数(如COUNT、SUM、AVG、MAX、MIN等)。
- 返回的结果集是基于每个组的一个或多个汇总值。
SELECT department_id, COUNT(*) FROM employees GROUP BY department_id;
5. CLUSTER BY
用途:
- 结合了
DISTRIBUTE BY
和SORT BY
的功能。 - 数据首先基于指定的列进行分布,然后在每个节点上进行排序。
- 返回的结果集在每个节点上局部有序,且整体上基于分布列全局有序。
- 通常用于Hive等大数据处理系统。
SELECT * FROM employees CLUSTER BY department_id, salary DESC;
总结
标签:sort,SORT,DISTRIBUTE,group,employees,distribute,排序,id,SELECT From: https://blog.csdn.net/wadjdkdkdjjd/article/details/143414523
- ORDER BY:全局排序,结果集有序。
- SORT BY:分布式排序,每个节点排序,但结果集不一定全局有序。
- DISTRIBUTE BY:用于数据分布,通常与SORT BY结合使用。
- GROUP BY:用于分组和聚合操作。
- CLUSTER BY:结合了DISTRIBUTE BY和SORT BY的功能,适用于分布式环境下的数据排序和分布