有这样的一条语句:
select t.* from sys_t_web_index t where
index_content like '%中国海岸花园%'
or index_content like '%海岸花园%'
or index_content like '%中国%'
or index_content like '%海岸%'
or index_content like '%花园%' 通过or以后的条件,出来都结果排序很凌乱,不是按照匹配最大的排列在前面.
如何修改这个语句,使匹配'%中国海岸花园%' 的排前面,'%海岸花园%' 居后,后面的其次排列..
select t.* from sys_t_web_index t where
index_content like '%中国海岸花园%'
or index_content like '%海岸花园%'
or index_content like '%中国%'
or index_content like '%海岸%'
or index_content like '%花园%' 通过or以后的条件,出来都结果排序很凌乱,不是按照匹配最大的排列在前面.
如何修改这个语句,使匹配'%中国海岸花园%' 的排前面,'%海岸花园%' 居后,后面的其次排列..
解决方案 »
- 求解以下SQL的执行差别
- 急!
- 很简单的问题,希望大家帮帮忙
- 高手们,帮我一个忙(净听他们说oracle好了,怎么实现这个简单问题)。
- 如何用命令查看视图的定义代码?
- 一个关于long类型的问题?
- 我是初学者,很困惑,为什么system表空间的文件格式是system01.dbf,而我自己建立的表空间则是*.ora,表空间和数据文件到底是怎么回事,怎
- 初级的安装问题(在2000server上点击安装画面上的"开始安装"后,就自动退出了.真是不解啊)? 请帮忙啊
- 为什么在win2000下装了oracle9i后用system,manager无法进入?
- oracle 视图写法 性能区别
- 初学Oracle,一个Sql也要错呢
- 关于 not in 里有 空值的处理方法
index_content like '%中国海岸花园%'
or index_content like '%海岸花园%'
or index_content like '%中国%'
or index_content like '%海岸%'
or index_content like '%花园%'
order by
case when index_content like '%中国海岸花园%' then 1
when index_content like '%海岸花园%' then 2
when index_content like '%中国%' then 3
when index_content like '%海岸%' then 4
end;
index_content like '%中国%'
or index_content like '%海岸%'
or index_content like '%花园%'
(
select t.*,1 as id from sys_t_web_index t where
index_content like '%中国海岸花园%'
union
select t.*,2 as id from sys_t_web_index t where
index_content like '%海岸花园%'
union
select t.*,3 as id from sys_t_web_index t where
index_content like '%中国%'
union
select t.*,4 as id from sys_t_web_index t where
index_content like '%海岸%'
union
select t.*,5 as id from sys_t_web_index t where
index_content like '%花园%'
) a
order by id
提示:缺少关键字
提示:缺少关键字
from ( select t.*,
case
when index_content like '%中国海岸花园%' then
1
when index_content like '%海岸花园%' then
2
when index_content like '%中国%' then
3
when index_content like '%海岸%' then
4
when index_content like '%花园%' then
5
else 6 end as rn
from sys_t_web_index t
where index_content like '%中国海岸花园%'
or index_content like '%海岸花园%'
or index_content like '%中国%'
or index_content like '%海岸%'
or index_content like '%花园%')a1
order by a1.rn-- 执行结果如下
1 中国海岸花园 1
2 海岸花园 2
3 中国海岸 3
4 中国 3
5 中国3 3
6 1中国海岸2 3
7 中国1 3
8 中国2 3
9 海岸1 4
10 海岸 4
11 花园 5