서브쿼리 질문입니다.

서브쿼리 질문입니다.

QA

서브쿼리 질문입니다.

본문


SET @num = 0;
SELECT *,(@num:=@num+1) AS num FROM (SELECT * FROM `g5_scrap`) AS num WHERE mb_id = 'xxx' order by ms_id desc

 

위의 쿼리로 질의했을때

결과가

 

ms_id | mb_id | bo_table | wr_id | ms_datetime | num

127   | xxx     | 보드이름 | 128   | 날짜            | 1

125   | xxx     | 보드이름 | 121   | 날짜            | 2

122   | xxx     | 보드이름 | 110   | 날짜            | 3

121   | xxx     | 보드이름 | 100   | 날짜            | 4

111   | xxx     | 보드이름 | 199   | 날짜            | 5

110   | xxx     | 보드이름 | 532   | 날짜            | 6

109   | xxx     | 보드이름 | 335   | 날짜            | 7

 

이렇게 출력됩니다.

근데 여기서

ms_id 가 127인 row의 num 값을 어떻게 가져와야 하나요?ㅠ

이 질문에 댓글 쓰기 :

답변 2

서브쿼리가 아니라 인라인 테이블로 처리 하는게 맞는듯 합니다.


SET @num = 0;
SELECT ms_id FROM (
    SELECT *,(@num:=@num+1) AS num
    FROM (SELECT * FROM `g5_scrap`) AS num
    WHERE mb_id = 'xxx' order by ms_id desc
 ) T
WHERE T.num = 127

 

이런식으로요 ^^

답변을 작성하시기 전에 로그인 해주세요.
전체 60
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT