侧边栏壁纸
博主头像
三味的小站 博主等级

世界上没有偶然,有的只是必然的结果。

  • 累计撰写 63 篇文章
  • 累计创建 14 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
sql

PGSQL查询结果按IN顺序排序

三味线
2021-02-09 / 0 评论 / 0 点赞 / 16 阅读 / 0 字

一个使用IN的查询

SELECT id,fullname FROM sys_user WHERE id IN(5,74,6,67)
// 结果
5 nancy
6 helen
67 chris
74 莎莉

使用 POSITION

SELECT id,fullname FROM sys_user WHERE id IN(5,74,6,67) ORDER BY POSITION(id::TEXT IN '5,74,6,67')
// 或者
SELECT id,fullname FROM sys_user WHERE fullname IN('nancy','莎莉','helen','chris') ORDER BY POSITION(fullname IN 'nancy,莎莉,helen,chris')
// 结果
5    nancy
74    莎莉
6    helen
67    chris

使用 ARRAY_POSITIONS

SELECT id,fullname FROM sys_user WHERE id IN(5,74,6,67) ORDER BY ARRAY_POSITIONS(ARRAY[5,74,6,67], id)
// 或者
SELECT id,fullname FROM sys_user WHERE fullname IN('nancy','莎莉','helen','chris') ORDER BY ARRAY_POSITIONS(ARRAY['nancy','莎莉','helen','chris'], fullname::TEXT)
// 结果
5    nancy
74    莎莉
6    helen
67    chris

0

评论区