读书人

数据库查询并且排序有关问题

发布时间: 2013-01-28 11:49:56 作者: rapoo

数据库查询并且排序问题
数据库中product有两列,一列name,一列Description

select * from product p where p.name like '%幸福%' or p.Description like '%幸福%';

能查出名字中和描述中包含幸福的的product
问题:怎样让名字中包含‘幸福’字段的product排在前边?
[解决办法]
用了一个比较笨的法子,多一个flg列


select p.*,
case
when instr(name, '幸福') > 0 then
1
else
null
end flg
from product p
where p.name like '%幸福%'
or p.Description like '%幸福%'
order by flg nulls last

[解决办法]
select * from product p where p.name like '%幸福%' or p.Description like '%幸福%'
order by instr(p.name, '幸福') desc;

读书人网 >oracle

热点推荐