2014-04-15 2 views
0

큰 데이터베이스 (예 : 전화 번호부)를 검색하고 성이 "SMITH"인 모든 사람을 선택합니다. 그것은 (예를 들어) 1000 개의 레코드를 반환합니다.MySQL 결과 집합 내에서 검색

다음으로 전화 번호가 "1234567"인 Smith가있는이 결과 세트 내의 위치를 ​​알고 싶습니다. (예 : 결과 집합의 위치 300)

이것이 가능합니까? 에서

+0

당신은 당신의 결과 집합에서 검색 할 수 있습니다. – Nelson

+0

일치하는 레코드를 찾기 위해 레코드를 순회하는 것을 의미합니까? (나는 결과 내에서 SELECT를 원했다) – TSG

+0

왜 당신은 다음과 같이 그냥하지 않을 것인가? SELECT * FROM phonebook where last_name = "SMITH"and phone_number = "1234567"; 아, 걱정 마세요 ... 귀하의 질문은 1000 레코드의 레코드 위치를 얻는 방법에 관한 것입니다. – dcarrith

답변

1

: With MySQL, how can I generate a column containing the record index in a table?

SELECT t.position_number FROM 
    (SELECT phone_number, @cur_row := @cur_row + 1 AS position_number FROM table 
    WHERE last_name = "SMITH") t 
    JOIN (SELECT @cur_row := 0) r 
    WHERE t.phone_number = 123; 
+2

그리고 그 안에 문지름, 어떤 순서로 결과가 있고 어떤 결과가 있나. 결과 집합의 위치는 해당 위치의 결과 집합에만 관련이 있습니다. –