Mysqlselectin按id排序实现方法
时间:2021-07-01 10:21:17
帮助过:20人阅读
表结构如下:
mysql> select * from test;
+----+-------+
| id | name |
+----+-------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 4 | test4 |
| 5 | test5 |
+----+-------+
执行以下SQL:
mysql> select * from test where id in(3,1,5);
+----+-------+
| id | name |
+----+-------+
| 1 | test1 |
| 3 | test3 |
| 5 | test5 |
+----+-------+
3 rows in set (0.00 sec)
这个select在mysql中得结果会自动按照id升序排列,
但是我想执行"select * from test where id in(3,1,5);"的结果按照in中得条件排序,即:3,1,5,
想得到的结果如下:
id name
3 test3
1 test1
5 test5
请问在这样的SQL在Mysql中怎么写?
网上查到sqlserver中可以用order by charindex解决,但是没看到Mysql怎么解决??请高手帮忙,谢
谢!
select * from a order by substring_index('3,1,2',id,1);
试下这个good,ls正解。
order by find_in_set(id,'3,1,5')
谢谢,经测试order by substring_index和order by find_in_set都可以
您可能感兴趣的文章:
- 让MySQL支持中文排序的实现方法
- MYSQL 关于两个经纬度之间的距离由近及远排序
- mysql如何根据汉字首字母排序
- mysql 按中文字段排序
- MySQL查询优化:连接查询排序浅谈
- MySQL查询优化:连接查询排序limit(join、order by、limit语句)介绍
- mysql的中文数据按拼音排序的2个方法
- MySQL中按照多字段排序及问题解决
- mysql 关键词相关度排序方法详细示例分析
- PHP 中执行排序与 MySQL 中排序
- mysql自定义排序顺序语句
- mysql中文排序注意事项与实现方法
- MySQL关于字符串中数字排序的问题分析