我想找到前10名标题与大量的用户ID。所以我用了 select title,count(userid) as users from combined_moviedata group by title order by users desc limit 10
但我需要根据标题对它们进行排序,我尝试了这个查询 select title,count(userid) as users from combined_moviedata group by title order by users desc,title asc limit 10
但它并没有对它们进行分类。只是返回了相同的结果。如何做到这一点
2条答案
按热度按时间8cdiaqws1#
你可以利用
WITH
条款chhkpiq42#
来自@kaushiknayak的答案非常接近我认为的“正确”答案。
在一个层次上,找出你的前十大记录是什么
在不同的级别上,按不同的字段对它们进行排序
我唯一要说的是,如果第十和第十一最常见的标题是并列为同一计数,他们一般也应该包括在结果中。这是一个
RANK()
.http://sqlfiddle.com/#!6/7283c/1号
注意,在链接的示例中,返回12行。这是因为4个标题都是并列第9最频繁的,这实际上是不可能确定哪两个应优先于其他选择。在这种情况下,选择10行通常在统计上是不正确的。