postgresql - ORDER BY 有两个表达式
问题描述
有一个SQL
查询ORDER BY
:
ORDER BY someColumn DESC NULLS LAST, NULLIF(anotherColumn->>'someNumField', '')::float';
所以,这里有两种排序方式。执行第一个,然后执行第二个。我希望在某些条件下执行第二种排序。仅当该值不是时如何进行第二次排序null
?
解决方案
尝试在您的订单中使用 CASE 表达式
ORDER BY someColumn DESC NULLS LAST, CASE when logic then 'a' else 'b' end
推荐阅读
- cuda - 如何在 gpu 中创建矩阵并在 cpu 上打印?
- mongodb - Mongo 插入和更新查询执行缓慢。为什么?
- php - 如何从多维数组制作键值数组
- bash - macOS - 使用命令作为参数启动 3 个终端的 Bash 脚本
- javascript - 我有一个注册到“文档”元素的事件处理程序,如何从另一个项目触发这个处理程序?
- android - 使微调器文本正确对齐
- ruby-on-rails - 嵌套表单以“has_many through”多对多关系创建许多新的关联对象
- jquery - 如何突出显示导航栏中的活动选项卡
- macos - NSScroller 半透明
- c# - 无法从 Oracle 数据库中检索表列表 - conn.GetSchema("Tables")