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

怎么让出现的字符次数的多少来排序?感觉有点"变态"

2012-05-04 
如何让出现的字符次数的多少来排序?感觉有点变态比如有一表tb,数据如下idtext1我是中国人2大家好,我是中

如何让出现的字符次数的多少来排序?感觉有点"变态"
比如有一表tb,数据如下

id text
1 我是中国人
2 大家好,我是中人中人是
3 你们好吗?我是我是
4 大家来帮个忙,我不是中国的.我是外国的是

如果我搜索"是人",那么首先是按"是"字出现的次数多少,多的排前面.出现"是"字数相同的,再按"人"字出现的次数多少排序.
所以得出的结果是:

4 大家来帮个忙,我不是中国的.我是外国的是
2 大家好,我是中人中人是
3 你们好吗?我是我是
1 我是中国人

这样如何写sql语句?谢谢!

[解决办法]

SQL code
if object_id('[tb]') is not null drop table [tb]gocreate table [tb]([id] int,[text] varchar(38))insert [tb]select 1,'我是中国人' union allselect 2,'大家好,我是中人中人是' union allselect 3,'你们好吗?我是我是' union allselect 4,'大家来帮个忙,我不是中国的.我是外国的是'goselect * from tborder by  len([text])-len(replace([text],'是','')) desc,  len([text])-len(replace([text],'人','')) desc/**id          text----------- --------------------------------------4           大家来帮个忙,我不是中国的.我是外国的是2           大家好,我是中人中人是3           你们好吗?我是我是1           我是中国人(4 行受影响)**/ 

热点排行