SQL group by order by
나르세드
11년 전
조회 7,264
제목별 wr_3(0~100)의 작업률 필드의 최대값해서 group by로 뽑으려고 했는데 잘 안되네요;;;
wr_subject | wr_3 | wr_datetime 의 컬럼중에 실제 wr_subject를 group by, wr_3를 order by로 했는데
wr_3값이 가장 낮은 값으로 SELECT 되어 뿌려지네요;;
wr_subject | wr_3 | wr_datetime
> 작업1 | 10 | 2014-03-19 11:11:22
> 작업1 | 20 | 2014-03-19 11:22:22
> 작업1 | 30 | 2014-03-19 11:33:33
아래는 제가 사용한 쿼리문 인데, 결국 두번 select 해야하는지...
SELECT * FROM `TABLE`
WHERE wr_is_comment = '1' and wr_parent = '".$wr_idx."' and wr_comment = '".$wr_idz."' and wr_comment_reply <> ''
GROUP BY wr_subject HAVING wr_3=max(wr_3)
ORDER BY wr_datetime DESC";
조언 부탁드려 봅니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 4개
11년 전
wr_subject | wr_3 | wr_datetime
> 작업1 | 10 | 2014-03-19 11:11:22
> 작업1 | 20 | 2014-03-19 11:22:22
> 작업1 | 30 | 2014-03-19 11:33:33
> 작업2 | 10 | 2014-03-17 11:33:33
> 작업2 | 15 | 2014-03-18 11:33:33
> 작업2 | 50 | 2014-03-20 11:33:33
실제 select * temptable .... group by wr_subject / order by wr_3 desc
후 for문으로 돌려서 나오는 목록이
> 작업 1 | 30 | 2014-03-19 11:33:33
> 작업 2 | 50 | 2014-03-20 11:33:33
이렇게 나와야 하지만 저의 경우는
> 작업1 | 10 | 2014-03-19 11:11:22
> 작업2 | 10 | 2014-03-17 11:33:33
이렇게 나옵니다;;
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
11년 전
select wr_subject, max(wr_3) from temptable group by wr_subject
이 쿼리를 원하시는 것인가요?
이 쿼리를 원하시는 것인가요?
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인