안녕하세요 max값을 불러오는 쿼리 문의드립니다. 0 3 897

by 드락 [MySQL] [2018.06.22 16:16:16]


안녕하세요 Max(no)값의 값을 불러오기 위한 쿼리인데 최적화를 하기위해 어떤식으로 최적화를 해야하는지

궁금하여 문의합니다!

SELECT 
*
FROM 
idbengine.idbuser_post_db
WHERE
page='12' and status='3' and value='1' and no = any(select max(no) from idbuser_post_db where page='12' and status='3' and value='1' GROUP BY valuetext09 ) 

by 마농 [2018.06.22 16:56:43]
SELECT *
  FROM (SELECT a.*
             , ROW_NUMBER() OVER(PARTITION BY valuetext09 ORDER BY no DESC) rn
          FROM idbengine.idbuser_post_db a
         WHERE page   = '12'
           AND status = '3'
           AND value  = '1'
        )
 WHERE rn = 1
;

 


by 드락 [2018.06.23 11:18:16]

마농님 감사합니다! 

근데 DBMS가 MYSQL 이라 OVER함수가 없네요 혹 mysql 은 어떻게 처리를 해야할까요


by 마농 [2018.06.25 07:18:12]
SELECT b.*
  FROM (SELECT page, status, value, valuetext09
             , MAX(no) no
          FROM idbengine.idbuser_post_db
         WHERE page   = '12'
           AND status = '3'
           AND value  = '1'
         GROUP BY page, status, value, valuetext09
        ) a
 INNER JOIN idbengine.idbuser_post_db b
    ON a.page        = b.page
   AND a.status      = b.status
   AND a.value       = b.value
   AND a.valuetext09 = b.valuetext09
   AND a.no          = b.no
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입