MySQL-mysql如何实现按照指定id顺序返回查询结果
如果我有一个id集合,like this: 1,3,2,4,6,11
现在需要进行select查询,结果集中必须包含id为上述所有的值的数据集,且顺序也要和上述集合中的保持一致,请问如何写sql语句?
@冯义军 同志的答案非常给力:
SELECT * from test ORDER BY FIELD(id,2,3,1,4),搞定
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
// 测试数据
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