Mysql 打印所有活动的名称,既不包括最大人数也不包括最小人数

Mysql 打印所有活动的名称,既不包括最大人数也不包括最小人数,mysql,sql,Mysql,Sql,我怎样才能解决黑客银行这个问题。我很困惑,无法继续前进。 这是我试过的 SELECT DISTINCT ACTIVITY FROM FRIENDS, SELECT max(ACTIVITY) AS M WHERE M = (SELECT NAME FROM Activities); 如果mysql版本为8或更高,则可以使用窗口函数 select activity from (select activity, count(*) as cnt,

我怎样才能解决黑客银行这个问题。我很困惑,无法继续前进。

这是我试过的

 SELECT DISTINCT ACTIVITY FROM FRIENDS,
 SELECT max(ACTIVITY) AS M
 WHERE M = (SELECT NAME FROM Activities);
如果mysql版本为8或更高,则可以使用窗口函数

select activity from (select activity, count(*) as cnt,
                             max(count(*)) over () as maximum_cnt,
                             min(count(*)) over () as minimum_cnt
                        from friends group by activity) mytable
where cnt not in (maximum_cnt, minimum_cnt);

我喜欢使用left join和检查NULL来解决类似的任务:

SELECT 
    ACTIVITY,
    SUM(1) AS Total
INTO #ActivityCount 
FROM FRIENDS
GROUP BY ACTIVITY

SELECT
    ActivityCount.ACTIVITY
FROM #ActivityCount
    LEFT JOIN (SELECT MAX(ActivityCount.Total) AS Total FROM ActivityCount) AS MaxTotal
    ON ActivityCount.Total = MaxTotal.Total
    LEFT JOIN (SELECT MIN(ActivityCount.Total) AS Total FROM ActivityCount) AS MinTotal
    ON ActivityCount.Total = MinTotal.Total
WHERE
    MaxTotal.Total IS NULL
    AND MinTotal.Total IS NULL
这就是我所做的

Select ACTIVITY from Friends 
group by ACTIVITY
having count(ACTIVITY) <> (select count1 from (select count(ACTIVITY) 
    count1 from Friends 
    group by (ACTIVITY) 
    order by count1 asc) 
    where rownum <= 1) and count(ACTIVITY) <> (select count2 from (select count(ACTIVITY) count2 from Friends group by (ACTIVITY) order by count2 desc) where rownum <= 1);

我用mysql解决了这个问题

select activity 
from 
(select activity, count(activity) as cnt
from friends
group by activity 
having cnt <> (select count(activity) from friends group by activity order by count(activity) limit 1)
and
cnt <> (select count(activity) from friends group by activity order by count(activity) desc limit 1)
) as x; 

向我们展示一些示例表数据和预期结果-全部为格式化文本,无图像。看看。@jarlh编辑的Alreadyth既不是样本数据也不是预期结果。还有图像…@jarlh抱歉现在检查检查…-'您可以使用窗口函数,如果在版本8或above@P.Salmon. 谢谢你指出。我在回答中添加了注释我需要写什么来代替我的表格@ArunPalanisamy@ahsannissar,那只是一个别名。你可以写任何东西