解决 PostgreSQL 报 ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list

SQL herman 55浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

PostgreSQL 这两年犹如一匹黑马,在数据库领域增长速度超过了 MySQL,当然在国内 PostgreSQL 的社区建设还是和 MySQL 相差甚远!

最近,公司里的一个老旧项目用到了 PostgreSQL,有一个小需求需要改动一下,于是分配了一个看似简单的任务给到了一位新同事,谁知这个初出茅庐的新同事把问题又抛给我了。

这个问题很简单,就是在执行 SQL 时,当 DISTINCT 和 ORDER BY 一起使用时,报出了“ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list“异常。

这个异常很简单,根据字面意思我们就可以知道,它说的大致意思是说,需要将 ORDER BY 中的字段添加到 SELECT 列表中。说白了,就是让 ORDER BY 的字段,加到 select DISTINCT 中即可。

SELECT DISTINCT author,status,create_time FROM xttblog ORDER BY create_time DESC;

例如,上面这个语句,如果不把 create_time 字段添加到 SELECT DISTINCT … FROM 之间的话,执行时就会报标题中的错误。

以上,希望能够帮助到一些新人程序员!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号1:xmtxtt(5000人已满),微信号2:codedq(5000人已满),微信号3:xttblog(超2800)。备注:“xttblog”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » 解决 PostgreSQL 报 ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list