表:
Spotify
+-------------+---------+ | 列名 | 类型 | +-------------+---------+ | id | int | | track_name | varchar | | artist | varchar | +-------------+---------+ id 是该表的主键(具有唯一值的列)。 每行包含 id、track_name 和 artist。
题目要求:
编写解决方案来查找每个艺术家在Spotify排行榜上出现的次数。
返回结果表,其中包含艺术家的名称以及相应的出现次数,按出现次数 降序 排列。如果出现次数相等,则按艺术家名称 升序 排列。
返回结果格式如下所示:
示例 1:
输入: Spotify 表: +---------+--------------------+------------+ | id | track_name | artist | +---------+--------------------+------------+ | 303651 | Heart Won't Forget | Sia | | 1046089 | Shape of you | Ed Sheeran | | 33445 | I'm the one | DJ Khalid | | 811266 | Young Dumb & Broke | DJ Khalid | | 505727 | Happier | Ed Sheeran | +---------+--------------------+------------+ 输出: +------------+-------------+ | artist | occurrences | +------------+-------------+ | DJ Khalid | 2 | | Ed Sheeran | 2 | | Sia | 1 | +------------+-------------+ 解释:"occurrences" 列下按降序列出了出现次数的计数。如果出现次数相同,则艺术家名称按升序排序。
一 我们将数据按照 artist 进行分组,然后按组分别统计数量,按照要求排序即可。
select artist, count(*) as occurrences from Spotify group by artist order by count(*) desc,artist;
以上就是全部答案,如果对你有帮助请点个赞,谢谢。
来源:力扣(leecode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
转载请注明出处:
我会尽快把力扣上的所有数据库题目发出来。感兴趣的可以点个赞与关注。每天不定时跟新。