sql 질문입니다.. 채택완료
humanb2box
7년 전
조회 1,794
</p>
<p>SELECT wr_2, wr_3, count(*) AS loginCount FROM 테이블GROUP BY wr_3 HAVING count(*) > 1 order by loginCount desc</p>
<p>
이 명령어를 통해 wr_3이 중복되는 숫자를 추출했습니다.
근데 양이 워낙 많다보니
높은 숫자순으로 상위 10개만 보여주고 싶은데
</p>
<p>select top(n)</p>
<p>
이렇게 시작하라는 내용을 찾아서 적용을 했는데 되직가 않네용,,
혹시 방법이 있을까요?
추가로
where절을 추가해서 특정 날짜부터 보고싶어서
SELECT wr_2, wr_3, count(*) AS loginCount FROM 테이블 GROUP BY wr_3 HAVING count(*) > 1 where wr_datetime between '2018-01-02' and '2018-01-09' order by loginCount desc
아무것도 뜨지가 않네요,,
도움 부탁드립니다..
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
댓글을 작성하려면 로그인이 필요합니다.
7년 전
두번째 기간을 주려면
비교하려는 문장과 조건의 구조가 동일해야 하는데
datetime 과 date형과 비교하였기에 나오질 않는겁니다.
where 절을
</p>
<p>where date_format(wr_datetime, '%Y-%m-%d') between '2018-01-02' and '2018-01-09' </p>
<p>
이렇게 변경하시면 정상적으로 나올겁니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 4개
h
humanb2box
7년 전
첫번째는 감사하게도 작동하나 두번째 where는 작동하지 않네용 ㅠㅠ
h
humanb2box
7년 전
쿼리문은 이렇게 작성했습니다
[code]
SELECT wr_2, wr_3, count(*) AS loginCount FROM 테이블 GROUP BY wr_3 HAVING count(*) > 1 where date_format(wr_datetime, '%Y-%m-%d') between '2018-01-02' and '2018-01-09' order by loginCount desc limit 20;
[/code]
[code]
SELECT wr_2, wr_3, count(*) AS loginCount FROM 테이블 GROUP BY wr_3 HAVING count(*) > 1 where date_format(wr_datetime, '%Y-%m-%d') between '2018-01-02' and '2018-01-09' order by loginCount desc limit 20;
[/code]
�
플래토
7년 전
@humanb2box
테이블 바로뒤에
where절이 와야하고
그뒤에 group by 입니다.
테이블 바로뒤에
where절이 와야하고
그뒤에 group by 입니다.
h
humanb2box
7년 전
되네요 ㅎㅎㅎ 제가 문법을 잘 몰라서 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인