결과값을 클라이언트에 있는 임시 변수에 저장하는 대신에 MySQL사용자 변수에 기록하도록 만드는 방법을 설명한다.
예를 들면, 최고 가격 및 최저 가격을 갖는 상품을 찾기 위해서 다음과 같이 실행할 수 있을 것이다:
mysql> SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
mysql> SELECT * FROM shop WHERE price=@min_price OR price=@max_price;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 0003 | D | 1.25 |
| 0004 | D | 19.95 |
+---------+--------+-------+
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
출처 : www.mysqlkorea.co.kr
댓글