2 qinghechaoge qinghechaoge 于 2016.01.19 17:52 提问

postgresql 字符串 排序问题 5C

postgresql 字符串排序时,如果字符串为空 就不进行排序
比如一个字段 mobile

升序排列,排序后的数据,前几行是空字符串,后几行也是空字符串
降序排列,排序后的数据,前几行是空字符串,后几行也是空字符串

我想实现 降序排列 有内容的在前几行,无内容的在后面,升序时,有内容的在后面图片说明图片说明

2个回答

91program
91program   Ds   Rxr 2016.01.19 20:39

想改变排序的默认对空的处理,这不太可能。所以,只能分步来实现 :
1) 现将空的选择出来
2)再对剩余的非空字段进行升/降排序
3)分别输出 1)和2)的结果,按你想要顺序

save4me
save4me   Ds   Rxr 2016.01.19 22:20

参考PostgresQL中的NUlls first/last功能
你可以使用Null First和Null Last来控制空值排前面或者后面。
甚至使用order by (linkmobile is null), linkmobile desc;这种方式排序

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!