Выше приведен результат, который я получаю по моему запросу
• Выходные данные должны быть упорядочены по двум различным качествам: o сначала по количеству ненулевых ранжирований в порядке убывания o, по сумма рейтингов в порядке возрастания
На изображении выше показано, как должен выглядеть результат
Используемый сервер: Mysql
это мой запрос, и то, что я пробовал до сих пор, любая помощь очень ценится
select
snippettitle as category
, if(cntrank>limitnumber,null,cntrank) as counts
,if(viewrank>limitnumber,null,viewrank) as views
, if(likesrank>limitnumber,null,likesrank) likes
, if(dislikesrank>limitnumber,null,dislikesrank) dislikes
,if(commentrank>limitnumber,null,commentrank) comment_count
from ( select
snippettitle
,RANK() OVER (ORDER BY cnt DESC) AS cntrank
,RANK() OVER (ORDER BY views DESC) AS viewrank
,RANK() OVER (ORDER BY likes DESC) AS likesrank
,RANK() OVER (ORDER BY dislikes DESC) AS dislikesrank
,RANK() OVER (ORDER BY comment_count DESC) AS commentrank
from homework7a) tmp
where
(cntrank <= limitnumber
|| viewrank <= limitnumber
|| likesrank <= limitnumber
|| dislikesrank <= limitnumber
|| commentrank <= limitnumber
)
order by counts desc,views desc,likes desc ,dislikes desc,comment_count desc;