테스트 사이트 - 개발 중인 베타 버전입니다

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

커네드커네드 10년 전 조회 2,796

만약에 lank라는 필드에

 

lank 5

lank 4

lank 3

lank 2

lank 3

lank 6 

 

 

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

 

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

 

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

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

답변 2개

채택된 답변
+20 포인트

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

 

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

 

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

 

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

 

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

 

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

로그인 후 평가할 수 있습니다

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

10년 전

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

 

이렇게 하시며 ㄴ될꺼예요

로그인 후 평가할 수 있습니다

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

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

로그인