我在Postgresql中有以下排序:
ORDER BY verified_at NULLS FIRST, name ASC
我想要的是首先使所有记录都带有authenticated_at NULLS,但仅当字段verify_at不为null时,然后才按名称排序。如果authenticated_at不为空,我不希望authenticated_at具有名称优先权。
使用此代码,在显示NULL后,对名称的优先级为verifyed_at。实际上,是否可以使记录按名称排序,除了那些具有verify_at NULL的记录之外?
我想要的例子:
verified_at: name:
NULL Alex
NULL Bernard
NULL Toto
2018 Albert
2012 Boris
2015 Michel
2001 Lena
order by (verified_at is not null)::int, name
CASE
表达式订购:ORDER BY
CASE WHEN verified_at IS NULL THEN 0 ELSE 1 END,
name