postgresql 自定义排序

最笨的排序方式,如有更好的方式请联系我

由于需要自定义排序,而且是pg的,在百度上也找了,但是未实现,于是抱着试试的状态,实现的现在的排序功能

select 查询的数据 from 表名 order by 排序的字段=第一个值 DESC, 排序的字段=第二个值 DESC, 排序的字段=第三个值 DESC

查询的结果排序为

第一个值

第二个值

第三个值

项目中是用的jpa执行的原生sql,经测试可以通过

遇到DISTINCT会报错,我是用GROUP BY分组查询去代替DISTINCT实现去重功能,暂未想到其他方式

存在的问题:

1,如果自定义排序的序列很多,order by后的条件很多,执行可能会带来效率问题

2,拼接字符串过长,如果排序出现错误排查的复杂度随序列的增多会指数型增长

 

posted @ 2018-09-07 12:51  E炎灵  阅读(1252)  评论(0编辑  收藏  举报