首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

排序有关问题(= or = or = or)怎样能按条件位置的先后进行排序

2012-12-16 
排序问题( or or or)怎样能按条件位置的先后进行排序where 字段1aa or 字段2bb or 字段3cc

排序问题(= or = or = or)怎样能按条件位置的先后进行排序
where 字段1='aa' or 字段2='bb' or 字段3='cc'

查询结果排序,按  字段1='aa'   字段2='bb'   字段3='cc'  来排序呢,高手帮忙解答一下
[最优解释]

引用:
哦,不好意思,我写错了一点

应该是
where 字段1='aa' or 字段1='bb' or 字段1='cc'
是同一字段,不好意思,再帮解一下

order by charindex(字段,'aabbcc')
[其他解释]
order by 和 where 里字段顺序一致
[其他解释]
order by case when 字段1='aa' then 1 end,
         case when 字段2='bb' then 2 end,
         case when 字段3='cc' then 3 end
[其他解释]
LZ是说字段1 筛选出来后有个排序?还是单独abc的排序?

单独的排序,直接查询出来就是。
如果是第一种筛选后的排序,lz需要将3个部分union all

select * from TB where 字段1 = 'aa' order by x asc
union all
select * from TB where 字段2 = 'bb' order by y asc
union all
select * from TB where 字段3 = 'cc' order by z asc


[其他解释]
where 字段1='aa' or 字段2='bb' or 字段3='cc'
order by case when 字段1='aa' then 1 when 字段2='bb' then 2 when 字段3='cc' then 3 end 
[其他解释]
引用:
哦,不好意思,我写错了一点

应该是
where 字段1='aa' or 字段1='bb' or 字段1='cc'
是同一字段,不好意思,再帮解一下


order by 字段1即可。

[其他解释]
引用:
where 字段1='aa' or 字段2='bb' or 字段3='cc'
order by case when 字段1='aa' then 1 when 字段2='bb' then 2 when 字段3='cc' then 3 end

这个老好了...
[其他解释]
哦,不好意思,我写错了一点

应该是
where 字段1='aa' or 字段1='bb' or 字段1='cc'
是同一字段,不好意思,再帮解一下
[其他解释]
7楼 直接order by 字段1是按字段内容进行排序,并非是按 or来排序

纠正一下,
where 字段1='aa' or 字段1='bb' or 字段1='cc'
是同一字段,结果想按 字段1='aa'   字段1='bb'    字段1='cc'的结果排列,谢谢大家帮忙
[其他解释]
引用:
引用:
哦,不好意思,我写错了一点

应该是
where 字段1='aa' or 字段1='bb' or 字段1='cc'
是同一字段,不好意思,再帮解一下
order by charindex(字段,'aabbcc')

非常感谢,确是正解,谢谢
谢谢大家帮忙解答,来着即有分

热点排行