栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PostgreSQL GROUP BY与MySQL不同吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PostgreSQL GROUP BY与MySQL不同吗?

GROUP BY
Postgres可以模拟完全不符合MySQL标准的MySQL
DISTINCT ON
。考虑一下:

MySQL:

SELECt a,b,c,d,e FROM table GROUP BY a

每个值传送1行

a
(您实际上并不知道该行)。好的,实际上您可以猜测,因为MySQL不了解哈希聚合,因此它可能会使用sort
…,但只会排序
a
,因此行的顺序可以是随机的。除非它使用多列索引而不是排序。好吧,无论如何,它不是由查询指定的。

Postgres:

SELECt DISTINCT ON (a) a,b,c,d,e FROM table ORDER BY a,b,c

这样,每个值传送1行

a
,该行将是根据
ORDER BY
查询指定的排序中的第一行。简单。

请注意,这里不是我正在计算的汇总。所以

GROUP BY
实际上没有任何意义。
DISTINCT ON
更有意义。

Rails已与MySQL结为夫妻,因此对于它生成的SQL在Postgres中不起作用,我并不感到惊讶。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号