关于多个关键词查询排序的问题。

sq0421 2006-08-07 04:18:19
表message如下:

message_id,message_title,update_time
1,南山科技园厂房,8-1
2,南山写字楼,8-2
3,科技园写字楼,8-1
4,南山区科技园写字楼招租,8-3

比如有两个关键词:“南山”和“科技园”

我想要的结果是:
1、同时满足两个关键词的记录放在前面按时间倒序排列
2、满足一个关键词的记录放在后面也按时间倒序排列

...全文
267 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
九斤半 2006-08-07
LZ难道就是《饭没了秀》里的强子?
回复
sq0421 2006-08-07
正解!给分!!
回复
九斤半 2006-08-07
drop table message
create table message
(message_id int identity(1,1),
message_title varchar(50),
update_time datetime)
insert message(message_title,update_time)
select '南山科技园厂房','2006-8-1' union all
select '南山写字楼','2006-8-2' union all
select '科技园写字楼','2006-8-1' union all
select '南山区科技园写字楼招租','2006-8-3' union all
select '南区科技写字楼招租','2006-8-1'

--select * from message

select * from message
order by
case
when (charindex('南山',message_title,1)>1 and charindex('科技园',message_title,1)>1) then 2
when (charindex('南山',message_title,1)>1 or charindex('科技园',message_title,1)>1) then 1
else 0
end desc,update_time desc
回复
iamltd 2006-08-07
用SQL来做很麻烦的。
可以考虑用SQL来生成每个查询的结果,再用客户端处理成一个列表
回复
九斤半 2006-08-07
case when
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2006-08-07 04:18
社区公告
暂无公告