有没有办法在sql中组合ORDER BYIS NULL,以便在列不为null时按列排序,但如果为null,则按另一列排序?

推荐答案

比如:

ORDER BY CASE 
    WHEN Column1 IS NOT NULL THEN Column1
    ELSE Column2
END

和写作一样:

ORDER BY COALESCE(Column1, Column2)

两者都应该适用于任何健全的RDBMS.

Postgresql相关问答推荐

如何高效地将行聚合到数组中,同时保留`NULL`来指示丢失的数据?

Postgres BULK INSERT如何影响Debezium?

使用pg_repack从PostgreSQL中的表中删除OID

为什么Postgres优化器切换到嵌套循环进行连接?

即使不对订阅服务器进行任何修改,Postgres逻辑复制也可能发生冲突吗?

如何返回old_ids和重复行的映射';来自PostgreSQL函数的s new_id

INSERT 语句返回策略违规(USING 表达式)

合并两个字典并创建一个包含更新凭据的字典列表

使用 GDB 调试器调试 AGE 代码的过程

使用 select 在带有特殊字符的字符串中查找数据

TimescaleDB 连续聚合:如何存储连续聚合结果

获取 OperationalError: FATAL: sorry, too many clients already using psycopg2

在 postgres 中删除所有共享相同前缀的表

无法向 postgresql 数据库授予用户权限(对于 rails 应用程序)

在 postgres 中Decode解码相似的函数

Postgres 外键on update和on delete选项如何工作?

在 postgres 中创建超级用户

如何使用 Django Migrations 重新创建已删除的表?

Windows 上的 GeoDjango:Could not find the GDAL library" / "OSError: [WinError 126] The specified module could not be found

判断 Postgres 中是否存在序列(plpgsql)