채택완료

sql 간단한 순위표를 만드려고 하는데요

2015-04-22 (수) 16:13:17 2,942

만약에 lank라는 필드에

lank 5

lank 4

lank 3

lank 2

lank 3

lank 6 

이라고 되있으면 가장 높은 숫자부터 1등 2등... 이렇게 하려고 하거든요

그런데 같은 숫자가 들어가있는건 어떻게 해야 등수가 같게 나올까요...?

지금처럼하면 lank가 같은 3인데 누군 4등이고 누군 5등이여서요 ㅠ ㅠ

|

답변 2개

채택된 답변
+20 포인트
2015-04-22 (수) 16:59:56

mysql에는 아주 좋은게 하나 있어요.

group_concat이라고 group by하고 concat으로 묶어줄수 있어요.

select group_concat(아이디)​ as id from rank group by lank

 

하시면 하나만 존재하면 하나의아이디.

 

두개가 존재하면 아이디,아이디 이렇게나오세요.

 

구분값을 콤마말고 다른거로 하려면 group_concat(컬럼 separator '구분자') 해주시면되요

2015-04-22 (수) 16:15:09

select right(lank, 2) as rank from table order by rank asc 

이렇게 하시며 ㄴ될꺼예요

답변을 작성하려면 로그인이 필요합니다.