select name from t1 where name in (select name from t2 order by age)
这条语句查询出的name是无序的,想要让查询结果和in内的数据的排序方式相同(即按照age排序),如何实现?
select name from t1 where name in (select name from t2 order by age)
这条语句查询出的name是无序的,想要让查询结果和in内的数据的排序方式相同(即按照age排序),如何实现?
如果我没有理解错的话,你说的问题有一个很重要的前提:in中的字符是有序的。
那么只要加一个ORDER BY id 就可以了,至于是否需要加DESC,就看你的排序规则了。
SELECT id
FROM table
WHERE id IN ('a','b','c')
ORDER BY id
有个函数find_in_set
select * form table where id in ('c', 'a' , 'b') order by find_in_set(id,'c,a,b');
//按cab排序,id不用加引号
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
3 回答2.3k 阅读
问题已经解决:http://q.cnblogs.com/q/72768/#c_935404