ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list が出た


はい、postgreSQLを使ってる時にこのエラーが出ました。
文中に書いてある通り、

order by してるんだけど、selectにdistinctしてるんだよね、どうすんねん。
というような内容。

order by を辞めるか、distinctではなくgroup by などで明示的に絞るなどすればOKです。

または、サブクエリにして、そのあとorder byを掛ければいいのですが、
ここで地味な落とし穴。

postgreSQLはサブクエリに名前付けないとエラーになります。
oracleと同じ要領で単純に括弧で括っただけだと、今度はそっちのエラーになります。


参考:
https://codeday.me/jp/qa/20190620/1057543.html
http://workmemo.techblog.jp/archives/33958688.html