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

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、满足一个关键词的记录放在后面也按时间倒序排列

...全文
335 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
九斤半 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

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧