Album
Title Artist Year Type Rating
My World Justin Bieber 2009 STUDIO 4
My Worlds: The Collection Justin Bieber 2010 COMPILATION 4
21 Adele 2011 STUDIO 5
Adele Live at the Royal Albert Hall Adele 2011 LIVE 4
Get to Heaven Everything Everything 2015 STUDIO 5
One of the boys Katy Perry 2008 STUDIO 3
Overexposed Maroon 5 2012 STUDIO 5
Live From Le Cabaret: In Montreal. Quebec Maroon 5 2008 LIVE 4
Pure Heroine Lorde 2013 STUDIO 4
以上是专辑,我如何才能获得每个艺术家自己的最高评级专辑?
提前致谢。
答案 0 :(得分:2)
以下是使用max
聚合加入子查询的一个选项:
select a.title, a.artist
from album a join (
select artist, max(rating) maxrating
from almum
group by artist) t on a.artist = t.artist and a.rating = t.maxrating
如果每位艺术家共享最高评分,则可以返回多个标题。
使用outer join
:
select a.*
from album a
left join album a2
on a.artist = a2.artist and a.rating < a2.rating
where a2.rating is null
答案 1 :(得分:-1)
SELECT*
FROM(SELECT* FROM`Album` ORDER BY `Artist`, `Rating` DESC) x
GROUP BY `Artist`
有关详细信息,请参阅this question,它非常相似。基本上,对它进行排序,以便您按照艺术家的方式重新排列表格,每个表格的最高评级,然后将其分组以拉出每个表格的第一条记录。