首页 > 解决方案 > ORDER BY 有两个表达式

问题描述

有一个SQL查询ORDER BY

ORDER BY someColumn DESC NULLS LAST, NULLIF(anotherColumn->>'someNumField', '')::float';

所以,这里有两种排序方式。执行第一个,然后执行第二个。我希望在某些条件下执行第二种排序。仅当该值不是时如何进行第二次排序null

标签: postgresqlsql-order-by

解决方案


尝试在您的订单中使用 CASE 表达式

ORDER BY someColumn DESC NULLS LAST, CASE when logic then 'a' else 'b' end

推荐阅读