sql中求每个等级出现最多categorical的项目,具体要求如下,左边是表,右边是想要的答案

 

SELECT
    a.*
FROM
    (
        SELECT
            level,
            categorical,
            count(*) AS num
        FROM
            t_test
        GROUP BY
            level,
            categorical
    ) a,
    (
        SELECT
            level,
            categorical,
            count(*) AS num
        FROM
            t_test
        GROUP BY
            level,
            categorical
    ) b
WHERE
    a.level= b.level
AND a.num > b.num

1. select level,categorical,count(*) a  from 表 group by level1,categorical;

2. 然后 将1语句最为一个结果集 做子查询

select level,categorical  from 表 a1 where categorical in(select  categorical from

 (1)  a2 where a1.level=a2.level group by level having a2.a=max(a)

 );