数据库查询问题,求大神指教,初学者,完全就懵了

这是简单的一个表结构
name
a

b

c

d
e
f

a
b
c
d
a

a
a
d
e
f

a
这个表有很多重复数据,需要进行重复次数统计
统计重复次数最多的数据数量,重复次数其次的重复数据数量,以及排除前两名,所有其他重复项的加和
统计结果类似
b 200
c 180
其他 220

注意结果只有3行,一条语句写出,可以百度

新手小白,都不知道该怎么查

oracle我会,用ROWID:

 查重复数量: SELECT 字段1,字段2,,,,, ,COUNT(ROWID) 
                                                        FROM 表 
                                                        GROUP BY 字段1,字段2
删重复数据: DELETE FROM 表 
                                        WHERE ROWID NOT IN(
                                                        SELECT MIN(ROWID)
                                                        FROM 表
                                                        GROUP BY 字段1,字段2
                                        ) ;

        SELECT
                    (
                                CASE WHEN nt.ro=1 THEN nt.name 
                                                    WHEN nt.ro=2 THEN nt.name
                                        ELSE '其他' END
                    )   'na',
                    SUM(nt.cu)
     FROM
                    (
                            SELECT @row_num:=@row_num+1 as 'ro',
                            b.* 
                            FROM (SELECT @row_num:=0) a,
                                            (SELECT name,COUNT(name) 'cu' FROM table_name GROUP BY name ORDER BY cu DESC) b
                    ) nt
        GROUP BY na;

虽然写出来了,但是感觉很low,自己跑了一下,能用。但是如果前几个个数相等的话,只能取两个,剩下的都算到其他的里面了。