暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

LightDB24.1新特性oracle模式 支持聚合函数表达式+order by

姚崇 2024-04-12
59

Oracle中支持聚合后接order by语句,虽然count(*) + xx 运算order by 这样order by本来没有意义,反而增加性能开销,做count聚合本身加和不加order by 结果集是一样的,但是仍需支持该写法。

下面是PostgreSQL模式行为

lightdb@test=# select count(*) from emp order by empno; ERROR: column "emp.empno" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: select count(*) from emp order by empno; ^ lightdb@test=# select count(*) from emp group by empno order by ename; ERROR: column "emp.ename" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: select count(*) from emp group by empno order by ename;
复制

LightDB24.1版本Oracle模式开始支持改用法

lightdb@test=# select count(*) from emp order by empno; count ------- 14 (1 row) lightdb@test=# select count(*) from emp group by empno order by ename; count ------- 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (14 rows) lightdb@test=# select count(*) + 1 from emp group by empno order by empno; ?column? ---------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 (14 rows)
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论