database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30735 게시물 읽기
No. 30735
쿼리를 짜고 싶은데요 도와주세요
작성자
신정연(feelsagood)
작성일
2014-06-30 19:44ⓒ
2014-07-01 12:28ⓜ
조회수
8,697
Mysql에서
 

TABLE - Doodle_fans

 num  fanID 
 1   a1 
 2  a2
 3  aa
 4  a1
 5  a1
 6  aa
 
위와같이 테이블이 있으면
결과값으로
fanID                 rank
aa                      2
aa 라는 fanID가 몇위인지 알고 싶습니다.
 
select
      @rownum := @rownum +1 as rank,
      prequery.fanID,
      prequery.PostCount
   from
      ( select @rownum := 0 ) sqlvars,
      ( SELECT fanID, count(fanID) postCount
           from Doodle_fans
           group by fanID
           order by count(fanID) desc ) prequery
 
여기까지는 어떻게 만들어 봣는데 aa라는 것이 where fanID로 들어가버리면 랭킹이 원하는대로 출력이 안되네요

 

이 글에 대한 댓글이 총 4건 있습니다.

 해결하였습니다.

 

select WrappedQuery.rank from
(select
 @rownum := @rownum + 1 as rank,
 prequery.fanID,
 prequery.PostCount
  from
 ( select @rownum := 0 ) sqlvars,
 ( SELECT fanID, count(fanID) postCount
  from Doodle_fans
  group by fanID
  order by count(fanID) desc ) prequery
) WrappedQuery
WHERE WrappedQuery.fanID = 'aa') fan_rank
신정연(feelsagood)님이 2014-07-01 13:46에 작성한 댓글입니다.

 이야기가 길어질 듯 하여 답글 달까 말까 고민했었는데, 해결되었다니 다행이네요.

동일 값을 가진 레코드가 2개 이상일 때 처리가 있으면 더 좋겠습니다.

허정수(wertyu)님이 2014-07-01 15:12에 작성한 댓글입니다.

SELECT a.fanid
     , a.cnt
     , COUNT(b.fanid) + 1 rank
  FROM (SELECT fanid
             , COUNT(*) cnt
          FROM fans
         WHERE fanid = 'aa'
         GROUP BY fanid
        ) a
  LEFT OUTER JOIN
       (SELECT fanid
             , COUNT(*) cnt
          FROM fans
         GROUP BY fanid
        ) b
    ON a.cnt < b.cnt
 GROUP BY a.fanid, a.cnt
;

마농(manon94)님이 2014-07-01 16:05에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30739서버 시작 후 몇일이 지나면 cpu 사용률이 갑자기 올라가서 내려오지 않습니다. [3]
유영재
2014-07-15
10249
30737mysql URL에서 도메인만 알아왔을때 중복제거 질문입니다 [1]
김미나
2014-07-09
8435
30736mysql 설치하려고 하는데 오류가 떠요 ㅜㅜ [1]
abc
2014-07-03
10244
30735쿼리를 짜고 싶은데요 도와주세요 [4]
신정연
2014-06-30
8697
30734선택한 월의 날짜 목록 [1]
김성미
2014-06-30
11836
30733간단한 쿼리 최적화질문요 [4]
신정연
2014-06-20
8735
30731두table 조인해서 결과값 얻기 [1]
김양훈
2014-06-11
8968
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다