mysql怎么按 in 里面 id 的顺序排列
发布网友
发布时间:2022-04-08 10:11
我来回答
共3个回答
懂视网
时间:2022-04-08 14:32
SELECT `sku` ,`current_price`
FROM `test`
WHERE `sku`
IN (
‘aaa‘, ‘bbb‘, ‘ccc‘, ‘ddd‘, ‘eee‘
)
ORDER BY FIELD( `sku` , ‘aaa‘, ‘bbb‘, ‘ccc‘, ‘ddd‘, ‘eee‘ )
mysql查询按照in里面的数据排序
标签:
热心网友
时间:2022-04-08 11:40
表结构如下:
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);
热心网友
时间:2022-04-08 12:58
mysql order by field(id, "+userIds+")" 这样子才行的,field是固定的