Database

MySQL에서 오라클의 rownum 구현하기

페이지 정보

본문

table명 : test
a_seq    b_seq    c_seq
1    181    30
2    179    34
3    176    27
4    179    28
5    176    27
6    180    29
7    176    27
-------------------------------------------
select a_seq from test where b_seq='176' and c_seq='27'
를 하게 되면 결과
a_seq
3
5 ← 요기!!
7
이 출력 되는데...
여기서 a_seq 의 특정 값, 예를 들어 a_seq 가 5 일 경우 2번째 라는 것을
어떻게 query 를 해야 되는지 알수 있나요?
---------------------------------------------
해결방법 : 골뱅이(@) 변수 사용
---------------------------------------------
set @rownum=0;
select (@rownum:=@rownum+1) rownum, a_seq from test where b_seq='176' and c_seq='27';
결과
rownum a_seq
1      3
2      5
3      7 

관련자료

등록된 댓글이 없습니다.
Today's proverb
“무릇 물이란 지세를 따라 흐르되 작은 틈도 놓치지 않고 적시니 지혜를 갖춘 자와 같고, 움직이면서 아래로 흘러가니 예를 갖춘 자와 같으며, 어떤 깊은 곳도 머뭇거리지 않고 들어가니 용기를 가진 자와 같고 장애물이 막혀서 갇히면 고요히 맑아지니 천명을 아는 자와 같으며, 험한 곳을 거쳐 멀리 흐르지만 끝내 남을 허물어뜨리는 법이 없으니 덕을 가진 자와 같다. 천지는 이것으로 이루어지고, 만물은 이것으로 살아가며, 나라는 이것으로 안녕을 얻고, 만사는 이것으로 평안해지며, 만물은 이것으로 바르게 되는 것이다. 이것이 지혜로운 자가 물을 좋아하는 이유이다.” (한영, <<한시외전>>)