안녕하세요..
이렇게 하면 될듯 합니다..
기존..
select distinct top 150 id, readnum from table_name order by readnum desc;
수정..
select distinct top 150 id, max(readnum) from table_name order by readnum desc group by id;
뒤에 group by id 로 중복 아이디를 없애고.. max 함수를 쓰시면 될듯..
-- 심광섭 님이 쓰신 글:
>> 이벤트를 하느라구 게시판에서 통계를 뽑아내는 중인데
>> 잘 안되는게 있네요.. 허접한 하수에게 도움좀 주십사 글을 올립니다.
>>
>> 제가 원하는건
>> '조회수가 가장 많은 상위 150개 글의 작성자(id)' 입니다.
>> 단, 중복되는 id는 제해야겠지요.
>>
>> 조회수는 readnum, id는 id 로 되어있거든요.
>> 단순히 생각하기에는..
>> select distinct top 150 id, readnum from table_name order by readnum desc;
>>
>> 라구 하면 될 줄 알았는데. 그게 그렇지 않더군요 ㅠ_ㅠ..
>> id가 xxx 이고 이사람이 글을 4개 썼다고 할 경우 id와 조회수가
>> xxx 60
>> xxx 60
>> xxx 48
>> xxx 30
>> 이라고 하면. xxx 60 은 중복처리가 되어서 한번만 가져오는데
>> xxx 48과 xxx 30까지 가져옵니다..
>> xxx와 60 하나만 가져오게 만들어야 하는데.. 도무지 되지가 않고있네요
>> 부디 자그만 도움이라도 부탁드립니다. 그럼 이만 줄이겠습니다.
|