sql统计相同项个数并按名次显示的问题

来源:百度知道 编辑:UC知道 时间:2024/09/20 23:36:20
SQL的统计相同项数量并排名问题,请各位高手帮我解决一下!!

现在有如下这样一个表:
A表
ID Name time
------------------------------
0001 aaa 2006-11-18
0002 ccc 2006-11-18
0003 eee 2006-11-18
0004 aaa 2006-11-18
0005 eee 2006-11-18
0004 aaa 2006-11-18
0002 ccc 2006-11-19

我现想实现的统计结果如下表
按日期当天(2006-11-18)统计后为:
Name 次数 排名(按出现的次数)
-------------------------------------------
aaa 3 1
ccc 1 3
eee 2 2

select id, name, count(*) from a where time = '2006-11-18' group by id, name order by count(*) desc

SELECT A.*,ROWNUM FROM (
SELECT NAME,COUNT(*) CNT FROM FYH
WHERE TIME = TO_DATE(\'2006-11-18\',\'YYYY-MM-DD\')
GROUP BY NAME
ORDER BY CNT DESC) A
ORDER BY ROWNUM

适用Oracle数据库