您的位置:首页 > 其它

聚类存储过程分析

2011-12-14 09:55 225 查看
http://topic.csdn.net/u/20110706/10/36fe794a-b528-48d5-9474-9783f37f2dba.html

这个帖子里的问题

SELECT     tmp1.str1, tmp2.str2
FROM         master.dbo.spt_values LEFT JOIN
(SELECT DISTINCT dense_rank() OVER (ORDER BY str1) AS expr1, str1
FROM         tb) AS tmp1 ON tmp1.expr1 = master.dbo.spt_values.number LEFT JOIN
(SELECT DISTINCT dense_rank() OVER (ORDER BY str2) AS expr2, str2
FROM         tb) AS tmp2 ON tmp2.expr2 = master.dbo.spt_values.number
WHERE     master.dbo.spt_values.type = 'p' ANDmaster.dbo.spt_values.number <= 5


master.dbo.spt_values这张表里有从1到2048,type为P的整数

dense_rank() 表示浓度排名,意思是相同的值在排名中只占一个位次,有两人并列第二名,不会造成第三名顺延成第四名

master.dbo.spt_values.number <= 5
这句是为了不让多余的null 占用空间

最后把tb表放上:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: