SQL查询的排序问题
请教一下各位高手,小弟有一点SQL方面的问题,我要针对一个指定的数据表来查询一些字段,select*from表where字段in(x1,x2,x3,x4.....)我希望...
请教一下各位高手,小弟有一点SQL方面的问题,我要针对一个指定的数据表来查询一些字段,select * from 表 where 字段 in
(x1,x2,x3,x4.....)
我希望查询的结果是按照我条件中的x1,x2,x3的顺序来排序的,但是x1,x2,x3的本身的顺序不是按照升序降序的,而是不固定的,也不能把他们给排序好了再查询,不知道有没有办法实现呢?请大家帮忙了!
比如说
select * from table where batchnbr in (2133,1244,1334,0012,5422)
就是()中的条件,顺序不是固定的,我也没办法都给排序了,因为我要按照这个顺序,再把得到的结果送回我需要的地方,至于order by我知道的,但是如果按照order by batchnbr来选择,那么得到的结果,肯定是按照batchnbr的顺序来排列,但是我希望得到的结果是按照
batnbr xxx xxx xxx
2133 xxx xxx xxx
1244 xxx xxx xxx
1334 xxx xxx xxx
0012 xxx xxx xxx
5422 xxx xxx xxx
这样显示的,不知道能不能做到 展开
(x1,x2,x3,x4.....)
我希望查询的结果是按照我条件中的x1,x2,x3的顺序来排序的,但是x1,x2,x3的本身的顺序不是按照升序降序的,而是不固定的,也不能把他们给排序好了再查询,不知道有没有办法实现呢?请大家帮忙了!
比如说
select * from table where batchnbr in (2133,1244,1334,0012,5422)
就是()中的条件,顺序不是固定的,我也没办法都给排序了,因为我要按照这个顺序,再把得到的结果送回我需要的地方,至于order by我知道的,但是如果按照order by batchnbr来选择,那么得到的结果,肯定是按照batchnbr的顺序来排列,但是我希望得到的结果是按照
batnbr xxx xxx xxx
2133 xxx xxx xxx
1244 xxx xxx xxx
1334 xxx xxx xxx
0012 xxx xxx xxx
5422 xxx xxx xxx
这样显示的,不知道能不能做到 展开
7个回答
展开全部
col1,则可以使用一楼的办法最简单有效:
select
*
from
表
order
by
col1
如果第一个字母后面的数字位数是不固定的,例如
A01,A02,B01..B99,..B250
则使用下列办法:
select
*
from
表
order
by
left(col1,1),val(mid(col1,2))
注:排序的具体实施方法其实变化很多,要视具体情况而定,这里无法一一列举。
select
*
from
表
order
by
col1
如果第一个字母后面的数字位数是不固定的,例如
A01,A02,B01..B99,..B250
则使用下列办法:
select
*
from
表
order
by
left(col1,1),val(mid(col1,2))
注:排序的具体实施方法其实变化很多,要视具体情况而定,这里无法一一列举。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后面加 order by ....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询