MySQL-mysql如何实现按照指定id顺序返回查询结果

发布于 2016-10-30 13:40:19 字数 193 浏览 1064 评论 1

如果我有一个id集合,like this: 1,3,2,4,6,11
现在需要进行select查询,结果集中必须包含id为上述所有的值的数据集,且顺序也要和上述集合中的保持一致,请问如何写sql语句?

@冯义军 同志的答案非常给力:

SELECT * from test ORDER BY FIELD(id,2,3,1,4),搞定

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2017-01-10 18:10:33

// 测试数据
CREATE TABLE `test1` (
`a` char(11) NOT NULL,
`b` int(11) NOT NULL,
KEY `a` (`a`),
KEY `b` (`b`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `test1` */

insert into `test1`(`a`,`b`) values ('a1',11),('a2',3),('a3',2),('a4',6),('a5',4),('a6',1);

测试sql

SELECT *, FIND_IN_SET(b,'1,3,2,4,6,11') AS orderby FROM test1 WHERE b IN ('1','3','2','4','6','11') ORDER BY orderby

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文