2012-10-18 3 views
0

알고 싶습니다. 어떻게 MySQL에서 결과 행과 함께 다음 4 개의 연속 행을 선택할 수 있습니까? 결과 행에서 다음 4 개의 연속 행을 선택하는 방법은 무엇입니까?

설명하기 : - 나의 선택 기준이 이름은이 = 인 경우

내가

name | amount 

a - 1000 

b - 2000 

c - 3000 

d - 4000 

e - 5000 

f - 6000 

이제 테이블 ABC의 행 다음 한 후 결과 행이 있어야한다 반환

a - 1000 

b - 2000 

c - 3000 

d - 4000 

e - 5000 

다른 말로하면 나는 쿼리의 결과를 반환 할 쿼리를 원한다. "select * from abc where name = 'a'"그리고 그 행에 이어지는 연속 4 행?

+0

단순히 제한 EX를 사용 : SELECT COLUMN_NAME (들) 을 TABLE_NAME 순서와 이름 LIMIT 5; –

+0

@eggyal 맞습니다 –

답변

3
SELECT abc.* 
FROM  abc JOIN (SELECT amount FROM abc WHERE name = 'a') t 
WHERE abc.amount >= t.amount 
ORDER BY abc.amount 
LIMIT 5 
+0

당신의 대답은 부분적으로 내 질문에 대답하지만 예제에서 사용한 데이터는 단지 발표 용입니다. 열 이름 아래에 값 사이에 논리적 연결이없는 경우에는 어떻게해야합니까? –

+0

당신의 대답에 당신이 언급 한 'AND 이름> ='A '', 내 선택 기준을 고려하여 Z이며, 테이블 행 z를 다음 포함 - 1000 Q - C 2000 - 3000 R - 4,000w - 5000 –

+0

@MangeshJogade : 위의 업데이트 된 답변을 참조하십시오. – eggyal

0

은 MSSQL에 대한

을 시도 : select top 5 * from abc where name > 'a' order by name

MySQL 용 : select * from abc where name > 'a' order by name limit 5

+0

@Ozgur : 구문 오류가 발생합니다. –

+0

위로 가기 대신 대답 사용 제한을 업데이트했습니다. – Ozgur

+0

Microsoft SQL Server, PostgreSQL, MySQL, Oracle, Sybase 및 Firebird에 대한 TOP N 레코드 반환 http://www.petefreitag.com/item/59.cfm – Ozgur

관련 문제