Movies
및 Reviews
의 두 테이블이 있습니다.평균 등급과 이름으로 상위 레코드를 추출하는 쿼리
Movies
에는 ID, Title, Genre, Duration;
Reviews
에는 ID, 설명, Movie_ID (영화의 ID 참조) 및 등급이 있습니다.
평균으로 영화의 상단을 표시하고 싶습니다. (영화의 제목과 평균 등급을 표시하고 싶습니다.)
2 개의 하위 쿼리로 시도해 보았습니다. 하나는 제목을 선택하는 것이고 다른 하나는 리뷰에서 AVG를 가져 오는 것입니다 (동영상으로 결합 됨). SELECT TITLE FROM MOVIES ...
에 SELECT AVG(GRADE)...
의 결과를 입력하는 방법을 알 수 없습니다. 올바른 방법을 시도하고 있습니까?
Movies
ID TITLE GENRE DURATION
1 Movie_name_1 Sci-fi 120
2 Movie_name_2 Comedy 100
3 Movie_name_3 Drama 140
4 Movie_name_4 Sci-fi 105
Reviews
ID Description Movie_id Grade
1 WOW 1 10
2 SUCH 2 9
3 Great 3 9
4 Amazing 2 10
5 Decent 4 7
6 Legendary 2 10
7 Waste 3 4
8 hmmm 1 6
예상 결과 :
SELECT Title, AVG(Grade) Grade
FROM Movies M
JOIN Reviews R on R.Movie_ID = M.ID
GROUP BY Title
ORDER BY Grade DESC
FETCH FIRST 5 ROWS ONLY;
편집 : 아래에 더 자세한 설명을
이 작동합니다Movie_name_1 9.50
Movie_name_2 9.25
Movie_name_3 8.25
Movie_name_4 7
[DBMS] (HTTPS : //en.wikipedia. org/wiki/DBMS) 제품을 사용하고 있습니까? 포스트그레스? 신탁? "_SQL_"은 쿼리 언어 일뿐 특정 데이터베이스 제품의 이름은 아닙니다. –
** 귀하의 질문에 ** [편집] **하고 [샘플 데이터] (http://plaintexttools.github.io/plain-text-table/) 및 그 데이터를 기반으로 예상되는 출력을 추가하십시오. [** 포맷 된 텍스트 **] (http://stackoverflow.com/help/formatting)하시기 바랍니다. [** 스크린 샷 없음 **] (http://meta.stackoverflow.com/questions/285551/why-may -i-not-upload-images-of-code-on-so-ask-a-question/285557 # 285557). ** [편집] ** 귀하의 질문 - 코멘트 **에 ** 코드 ** 또는 추가 정보를 게시하지 마십시오. –
이것은 단순한'INNER JOIN','group by' 및'avg()'aggregate 인 것처럼 보입니다. 시도한 것은 무엇이고 작동하지 않는 것은 무엇입니까? 아니요 두 가지 검색어가 없습니다. 이제 예상 결과가 movie_name_1에 대한 10 + 6 = 16/2 = 8의 데이터와 어떻게 일치하는지 보지 못했지만 9.5가 있습니다. – xQbert