Mysql 使用 in 查询, 如何保证查出来顺序与传入的条件顺序保持一致?

本文讨论了SQL查询中按输入条件排序的问题,指出默认按ID存储的顺序可能并非预期。作者分享了自己的职业经历,强调了系统化学习的重要性,并提供了一份包含Java全系列资料的学习资源,旨在帮助初级工程师高效提升技能并降低学习成本。作者还承诺提供辅导和持续更新内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题: 如下sql,我们可能会理所当然的以为输出的顺序是以我们输入的5,9,3 的顺序输出数据,然而并不是,输出是按数据库存的顺序输出,而我们一般存就是按照id递增存,所以输出也会是递增的:

select * from table where id in (50,90,30)

如果想要进行按传入条件顺序输出的话,可以使用order by (field, data…) ,
如上转化出来应如下:

select * from table where id in (50,90,30) order by field(id,50,90,30)

自我介绍一下,小编13年毕业于厦门大学,14年在外包公司干过,后来去过微软、华为等大厂,20年进入鹅厂担任架构师,直到现在。这一路走来,深知大多数初中级java工程师,想要提升技能,往往需要自己长时间的摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率不仅低效而且还很漫长,很容易就碰到天花板致技术停止不前。 因此我收集整理了一份《java开发全套学习资料》送给大家,里面包含了Spring全家桶,MySQL,中间件Redis、kafka,MQ消息,Zookeeper等java全系列资料,非常适合初中高级各个阶段同行学习,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料,在时间允许的情况下,可以对想拿高薪、准备跳槽、实习生、应届生、培训转行等小伙伴提供全方位的辅导,保证拿到面试offer,我也会在后面抽时间定期更新一些干货文章,如果你喜欢,也可添加下方名片学习交流 (๑◡๑)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值