如何排名,并获取名次
时间:2011-12-26
来源:互联网
select UName, RANK() over( ltrim(sum(case Violation when '1' then 1 when '2' then 1 else 0 end)*100/count(1))+'%') as tongguo from UQD group by UName
可是提示'RANK' 不是可以识别的 函数名。
我想实现根据ltrim(sum(case Violation when '1' then 1 when '2' then 1 else 0 end)*100/count(1))+'%'排名并且把名次放到查询的表里
作者: LiveMusic 发布时间: 2011-12-26
作者: fredrickhu 发布时间: 2011-12-26
rank是2005、2008的
作者: pengxuan 发布时间: 2011-12-26
--示例数据 CREATE TABLE tb(Name varchar(10),Score decimal(10,2)) INSERT tb SELECT 'aa',99 UNION ALL SELECT 'bb',56 UNION ALL SELECT 'cc',56 UNION ALL SELECT 'dd',77 UNION ALL SELECT 'ee',78 UNION ALL SELECT 'ff',76 UNION ALL SELECT 'gg',78 UNION ALL SELECT 'ff',50 GO --1. 名次生成方式1,Score重复时合并名次 SELECT *,Place=(SELECT COUNT(DISTINCT Score) FROM tb WHERE Score>=a.Score) FROM tb a ORDER BY Place /*--结果 Name Score Place ---------------- ----------------- ----------- aa 99.00 1 ee 78.00 2 gg 78.00 2 dd 77.00 3 ff 76.00 4 bb 56.00 5 cc 56.00 5 ff 50.00 6 --*/ --2. 名次生成方式2,Score重复时保留名次空缺 SELECT *,Place=(SELECT COUNT(Score) FROM tb WHERE Score>a.Score)+1 FROM tb a ORDER BY Place /*--结果 Name Score Place --------------- ----------------- ----------- aa 99.00 1 ee 78.00 2 gg 78.00 2 dd 77.00 4 ff 76.00 5 bb 56.00 6 cc 56.00 6 ff 50.00 8 --*/
2000的参考这个
作者: fredrickhu 发布时间: 2011-12-26
该回复于2011-12-26 09:24:01被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#5楼 得分:0回复于:2011-12-26 09:16:56
|
作者: lhk_software 发布时间: 2011-12-26
SELECT UName , RANK() OVER ( ORDER BY LTRIM(SUM(CASE Violation WHEN '1' THEN 1 WHEN '2' THEN 1 ELSE 0 END) * 100 / COUNT(1)) + '%' ) AS tongguo FROM UQD GROUP BY UName
作者: LiveMusic 发布时间: 2011-12-26
作者: wufeng4552 发布时间: 2011-12-26
SQL code
SELECT UName ,
RANK() OVER ( ORDER BY LTRIM(SUM(CASE Violation
WHEN '1' THEN 1
WHEN '2' THEN……

木有注意楼主连ORDER BY都木有。
作者: fredrickhu 发布时间: 2011-12-26
我是2005的啊
SQL code
select UName, RANK() over(order by ltrim(sum(case Violation when '1' then 1 when '2' then 1 else 0 end)*100/count(1))+'%') as tongguo from UQD group by UName
作者: fredrickhu 发布时间: 2011-12-26
作者: qianjin036a 发布时间: 2011-12-26
你的是2000?

2000的怎么查呢
作者: ericlanmo 发布时间: 2011-12-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28