[开发|数据库] postgresql数据默认数据为null导致排序排序失效

参考文献

默认为null的数据库字段导致SQL排序失效--以pg数据库为例

解决方案

在 PostgreSQL 中,如果你在排序操作中使用 NULL 值,并且希望将 NULL 值排在结果的最后,可以使用 ORDER BY ... NULLS LAST 语法。如果你的排序中存在 NULL 值但排序操作并没有按照预期的方式工作,有几个可能的原因需要检查:

  1. PostgreSQL 版本: 请确保你的 PostgreSQL 版本是 9.3 或更高版本。NULLS LAST 选项在 9.3 版本引入。

  2. 正确的语法: 确保你使用的是正确的语法。下面是一个正确的例子:

sql 复制代码
SELECT name, SUM(number)
FROM test
GROUP BY name
ORDER BY SUM(number) DESC NULLS LAST;
  1. 列的数据类型: 如果你在排序的列中使用了其他数据类型,可能会影响排序的结果。确保排序列的数据类型与你的期望一致。

  2. 其他排序规则: 在某些情况下,排序可能会受到数据库的全局排序规则或者表的默认排序规则的影响。在这种情况下,你可能需要更详细地指定排序规则。

相关推荐
難釋懷6 分钟前
基于Redis的Stream结构作为消息队列,实现异步秒杀下单
数据库·redis·缓存
TDengine (老段)9 分钟前
TDengine IDMP 数据可视化——状态时间线
大数据·数据库·ai·信息可视化·时序数据库·tdengine·涛思数据
DolphinDB智臾科技9 分钟前
V3.00.5 & 2.00.18 更新!TPC-H 性能跃升,MPP 引擎来了…
大数据·数据库·时序数据库·dolphindb
xing-xing10 分钟前
Spring Data项目
数据库·spring
i220818 Faiz Ul9 小时前
计算机毕业设计|基于springboot + vue鲜花商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Apple_羊先森11 小时前
ORACLE数据库巡检SQL脚本--22、检查碎片程度最高的业务表
数据库·sql·oracle
OnYoung12 小时前
更优雅的测试:Pytest框架入门
jvm·数据库·python
山岚的运维笔记12 小时前
SQL Server笔记 -- 第85章:查询提示
数据库·笔记·sql·microsoft·sqlserver