首页 > 其他分享 >order by 、sort by、distribute by、group by、cluster by的区别

order by 、sort by、distribute by、group by、cluster by的区别

时间:2024-10-31 18:45:30浏览次数:3  
标签:sort SORT DISTRIBUTE group employees distribute 排序 id SELECT

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 BYSORT BY的功能。
  • 数据首先基于指定的列进行分布,然后在每个节点上进行排序。
  • 返回的结果集在每个节点上局部有序,且整体上基于分布列全局有序。
  • 通常用于Hive等大数据处理系统。
SELECT * FROM employees CLUSTER BY department_id, salary DESC;

总结

  • ORDER BY:全局排序,结果集有序。
  • SORT BY:分布式排序,每个节点排序,但结果集不一定全局有序。
  • DISTRIBUTE BY:用于数据分布,通常与SORT BY结合使用。
  • GROUP BY:用于分组和聚合操作。
  • CLUSTER BY:结合了DISTRIBUTE BY和SORT BY的功能,适用于分布式环境下的数据排序和分布

标签:sort,SORT,DISTRIBUTE,group,employees,distribute,排序,id,SELECT
From: https://blog.csdn.net/wadjdkdkdjjd/article/details/143414523

相关文章

  • qsort排序
    在体操比赛中,每位选手的得分是由多名裁判综合打分所得。现在已经汇总了N名选手的个人总得分(选手的编号依次为1,2,……N),请你设计程序找出第K名选手在所有选手中的排名。输入说明:第一行是N和K,N表示运动员的个数,K是选手序号;第二行依次是这N位运动员的个人总得分。输出说明:第K名(从1开......
  • qsort函数的学习与使用
    零.导言    在之前的文章中,我介绍了冒泡排序,即按ASCII码值把元素从小到大排序(文章链接我放在了第五部分,有兴趣的小伙伴可以求看看)。而今天我将继续介绍qsort函数,这个函数可以起到和冒泡排序一样的作用,并且有着更加广泛的应用场景。一.qsort函数的定义    qso......
  • SQL执行顺序及where、group by及having
    SQL执行顺序及where、groupby及having一、SQL的书写与执行顺序SQL语句书写顺序select、form、where、group by、having、select、orderby、limit SQL语句执行顺序from、where、group by、having、select、order by、limit当然如果有join,肯定优先级是join,接下来是from......
  • 数字时代的领航者,不容错过的巅峰盛会——The Open Group 2024大会盛情邀约
    随着全球数字化革命的深入推进,企业正面临着前所未有的挑战和机遇。如何在激烈的市场竞争中脱颖而出,实现可持续发展,已成为各行业领袖和专业人士共同关注的焦点。TheOpenGroup2024生态系统架构·可持续发展年度大会即将隆重举行,汇聚全球顶尖专家和业界翘楚,为您揭示数字化转型......
  • 引爆数字化新潮流:The Open Group 2024年度大会,助您领航未来!
    亲爱的科技与数字化转型领域的专业人士,您是否渴望在数字化浪潮中抢占先机,成为行业变革的领军者?您是否希望与全球顶尖的企业架构师、数字化专家和行业领袖面对面交流,获取最新的前沿资讯和实战经验?TheOpenGroup2024生态系统架构·可持续发展年度大会,即将震撼来袭,为您开启一扇......
  • 易优cms系统报错SQLSTATE[42S22]: Column not found: 1054 Unknown column 'groupid'
    .检查数据库表结构确认表结构:首先确认相关表中是否存在 groupid 列。  DESCRIBE表名;将 表名 替换为实际的表名,例如 eyou_member 或 eyou_admin。2.修改查询语句检查查询语句:如果 groupid 列确实不存在,需要修改相关的查询语句。找到引发错误的查询......
  • Cinemachine——磁力吸实现&CinemachineTargetGroup
    视角“聚焦”是游戏过场动画中常见的功能,Cinemachine实现这个功能,让我们看看具体怎么使用吧。通过PackageManager导入Cinemachine插件,在导入CinemachineSample后,我们可以在Assets文件夹下Cinemachine/2.6.17(这个是你下载的cinemachine版本号)/CinemachineExampleScenes/Scenes......
  • python中的字典排序--sorted()
    字典的排序:在学习python的时候,了解到相比于列表,字典是一个无序的数据结构,一般都不对其进行排序的。但是要想对字典进行排序,是可以通过sorted()函数进行操作的!关于字典的排序,下面从键key和值value进行代码的运行和分析:【先看代码和执行结果,后面会进行详细的解析】#先定义一......
  • 找到占用磁盘最多的文件或目录,可以使用du和sort
    想要找到占用磁盘最多的文件或目录,可以使用du和sort命令: du-h/path/to/directory|sort-rh|head-n10其中:du-h/path/to/directory用于计算指定目录下的所有文件和子目录的大小,并以人类可读的格式显示。sort-rh用于按磁盘使用情况的大小(逆序)对输出进行排序。h......
  • podman 无根用户分配系统CPU、内存等系统资源,提示cgroup相关权限不足
    问题:在使用Podman以无根用户(rootless)模式创建容器时,如果遇到分配系统CPU等资源时提示cgroup权限不足,这是因为无根用户没有直接访问cgroup相关资源的权限。以下是一些解决方法(目前采用的办法3临时解决,,主要是更改系统目录权限sudochown-R$USER:$USER/sys/fs/cgro......