안녕하세요
MySQL로 쿼리를 짜는데 막힘이 있어서 질문드립니다.
SEQ, ID, KEYWORD, RANKING, REG_DATE이렇게 있는데요.
시간당 10개정도의 데이터가 쌓이고있습니다.
변하는 값은 REG_DATE와 RANKING만 변하는데요
RANKING은 값이 똑같을수도 있습니다.
그런데 RANKING의 값이 중복되면 ROW가 결합되서 20개만 나와야하는데..
GROUP BY 를 하게되면 가장 위에있는 데이터만 남고 밑에서 다시 같은 값 갖은것까지 없어지니 문제가 됩니다..
이런 쿼리는 어떻게 처리해야하나요...ㅠ
기존에 제가 사용 하는 쿼리는
SELECT A.SEQ, A.ID, A.KEYWORD, A.RANKING, A.REG_DATE
FROM (
SELECT SEQ, ID, KEYWORD, RANKING, REG_DATE
FROM LOGS
ORDER BY REG_DATE DESC
LIMIT 0,20
) A
ORDER BY A.REG_DATE ASC
입니다.. 이 쿼리 구르비선배님들은 황당해하시겠져..ㅜㅜ 순서를 바꾸려고 저렇게 두번 감았습니다.
저거 말고 다른 좋은 방법있는지도 한수 부탁드립니다!
A.SEQ, A.ID, A.KEYWORD, A.RANKING, A.REG_DATE
1, test, 검색어, 1, 2015-05-05
1, test, 검색어, 1, 2015-05-05
1, test, 검색어, 46, 2015-05-05
1, test, 검색어, 46, 2015-05-05
1, test, 검색어, 46, 2015-05-05
1, test, 검색어, 43, 2015-05-05
1, test, 검색어, 46, 2015-05-05
이것을
1, test, 검색어, 1, 2015-05-05
1, test, 검색어, 46, 2015-05-05
1, test, 검색어, 43, 2015-05-05
1, test, 검색어, 46, 2015-05-05
이렇게 나와야합니다..ㅠㅠ