프로그램 사용/oracle2014. 5. 30. 17:41
group by는 그룹별로 정렬하는 것인데

어떻게 사용하냐에 따라서
distinct + sum을 한번에 처리할 수 있는 좋은 명령어이다!!

아래는 장르별로 추천수를 합산하여 장르별 점수를 내림차순으로 정렬한다.
가장 인기있는 장르 순서를 출력하는 sql 문이라고 해야 하려나?
<select id="selectTopGenre" resultClass="java.lang.String">
SELECT GENRE_1, SUM(SCORE)
FROM MUSIC_DB, MUSIC_SCORE
WHERE MUSIC_SCORE.MUSICID = MUSIC_DB.MUSICID AND MUSIC_SCORE.SCORE = 1
GROUP BY GENRE_1
ORDER BY SUM(SCORE) DESC
</select> 

아무튼 특이한건.. order by의 경우 score로 필드가 아닌 sum(score)라고 해야 제대로 정렬이 된다 .
score는 개별 필드고 sum(score)는 합산된 결과에 대한 필드라서 이려나? 

[링크 : http://www.w3schools.com/sql/sql_groupby.asp]


+ 2014.06.01 추가
group by를 사용시에는
select에 group by에서 사용한 항목만 사용이 가능해진다.

[링크 : http://www.itmembers.net/board/view.php?id=oracle&...desc=asc&no=29] group by 
[링크 : http://docs.oracle.com/javadb/10.6.1.0/ref/rrefsqlj32654.html]

'프로그램 사용 > oracle' 카테고리의 다른 글

sql order by  (0) 2014.06.01
sql outer join  (0) 2014.06.01
sql distinct  (0) 2014.05.29
oracle 대소문자 구분없이 검색하기  (0) 2014.05.28
oracle 타입 - nvarchar2 varchar2  (0) 2014.05.20
Posted by 구차니