+ -
当前位置:首页 → 问答吧 → asp+access重复排名问题

asp+access重复排名问题

时间:2011-09-02

来源:互联网

有2张表 VIP 表 ID uname(公司名称) VIP1表 ID cid jifen 
现在有如下数据:VIP表: 1,ABC  
  2,def  
  vip1表: 1,1,50
  2,1,50
  3,2,20
  4,2,222
现已:SELECT top 8 vip.uname,sum(vip1.jifen) as zongfen FROM vip INNER JOIN vip1 ON vip.id = vip1.cid group by vip.uname order by sum(vip1.jifen) desc

查询出来名次情况就是如果总分相同的时候就不显示前八名了、问改如何解决?

作者: cdboo0525   发布时间: 2011-09-02

参考sql server的.

SQL code
表jh03有下列数据:
name score
aa  99
bb  56
cc  56
dd  77
ee  78
ff  76
gg  78
ff  50

1. 名次生成方式1,Score重复时合并名次
SELECT * , Place=(SELECT COUNT(DISTINCT Score) FROM jh03 WHERE Score >= a.Score)
FROM jh03 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 jh03 WHERE Score > a.Score) + 1
FROM jh03 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

作者: dawugui   发布时间: 2011-09-02