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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
postgresql数字结尾字符串分割排序说明
功能说明:对以数字结尾的字符串进行分割之后,第一部分按照postgresql默认的排序方式排序,第二部分按照数字的大小进行排序。 目标排序结果,以数字结尾字符串前半部分(addd-)一样情况下按照后半部分数字(1、2、3、10)大小排序。 相关自定义函数:
如何排序含有数字的字符串
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { string[] floors ={ "第3次", "第2次", "第11次" }; Array.Sort(floors, Factory.Compar
Postgresql中文排序
select id,description from my_table order by description;select id,description from my_table order by convert_to(description, ‘GBK’);第一种是按照LANG=C,即ASCII,进行排序。 第二种是按照拼音排序。
关于PostgreSql的指定中文排序问题
PostgreSQL之前用的比较少,最近遇到的一个排序问题,
PostgreSQL大小写排序问题
<br /><br />在PostgreSQL中创建如下表并插入如下数据<br />CREATE TABLE "TTT" (<br />   ID varchar(32) PRIMARY KEY NOT NULL,<br />   NAME varchar(128) NOT NULL<br />);<br />CREATE UNIQUE INDEX TTT_NAME_IDX ON "TTT"(NAME);<br />insert into "TTT" values('1' , 'A');<br />inse
order by 导致分页出现重复数据问题
原因 有时候我们需要按照时间排序, 并配合 limit 进行分页查询. 但是, 当 order by 的时间相同的时候, 系统对数据的排序可能变得随机化, (即一会儿这条数据在前面, 一会儿这条数据在后面). 所以, 当翻页的时候我们很容易便看到了重复的数据. 解决办法 在使用 order by 的时候, 在本身需要排序的 目标字段 之后再加上一个 唯一字段 (比如PK或者UNIQUE...
PGSQL 指定空值排序的顺序
ORDER BY colname DESC NULLS FIRST / LAST FIRST表示空值排在前面;LAST表示空值排在后面
greenplum(postgresql) 中文字符排序问题
在PG中存储中文,现在大家的典型解决方法是用UTF8做数据库编码,但是用UTF8作数据库编码有一个问题,就是中文排序的问题。 在PG中,缺省的时候是按照编码排序的,也就是按照UTF8的编码对字段排序,但是,UTF8本身的编码顺序和人们习惯的中文的发音的拼音顺序完全不同,因而排序完全不是期望的拼音排序。那么如何解决呢? 众所周知,GBK编码是按照拼音发音顺序排序的,因此,解决方法之一就是把UTF
PostgreSQL获取汉字拼音首字母函数
本文转自http://blog.qdac.cc/?p=1281 --© 2014,swish,原版首发:http://blog.qdac.cc/?p=1281,自由使用,保留版权 CREATE OR REPLACE FUNCTION CnFirstChar(s character varying) RETURNS character varying AS $BODY$ declare r
PostgreSql的聚合函数--string_agg
聚合函数 顾名思义,聚合函数就是类似于min(),max(),sum()等函数,当然这些都是SQL标准的函数,应该都是比较熟悉,也比较常见。这边不对这些常见的函数进行介绍,主要涉及的是PostgreSql自带的一些特色聚合函数进行介绍,自己学习,也与大家共享。 主要介绍的聚合函数: String_agg,xmlagg,array_agg三者的道理是一样的只是合并的值的数据类型不同而已,这边主