각 국가에서 가장 인기있는 아티스트를 찾으려면 SQL 쿼리를 작성하려고합니다. 인기 작가는 하이브 두 필드를 그룹화하여 최대 값 선택
describe album;
albumid string
album_title string
album_artist string`
describe album_ratings;
userid int
albumid string
rating int
describe cusers;
userid int
state string
country string
다음은 내가 쓴 하나 개의 쿼리이지만 작동하지 않습니다,> = 아래
8 테이블 구조 평가의 최대 수를 가지고 하나입니다.
select album_artist, country, count(rating)
from album, album_ratings, cusers
where album.albumid=album_ratings.albumid
and album_ratings.userid=cusers.userid
and rating>=6
group by country, album_artist
having count(rating) = (
select max(t.cnt)
from (
select count(rating) as cnt
from album, album_ratings, cusers
where album.albumid=album_ratings.albumid
and album_ratings.userid=cusers.userid
and rating>=6
group by country, album_artist
) as t
group by t.country
);