2011-03-13 3 views
2

MySQL을 회피하는 간단한 질문이 있습니다. 행 'x'와 행 'y'사이의 행을 반환 할 수 있습니까? 설명하기가 다소 어렵습니다. 행의 1-5 행과 11+ 행을 제외하고 6 행에서 10 행을 반환하십시오. 감사!MySQL 쿼리 질문

SELECT * FROM myTable LIMIT 5, 5 

답변

4

사용 LIMIT보고 :; D

+1

오, 이런 .. 우연히 주문을 빠져 나왔다. 와우 와우 와우. 고마워, 하하! – Joe

2

예, 여기에 예입니다. 결과를 얻으려면 ORDER BY와 함게 조합해야합니다.

SELECT fields, ... 
FROM table 
ORDER BY something_sensible 
LIMIT 5, 5 

(http://dev.mysql.com/doc/refman/5.0/en/select.html) 매뉴얼에서

+1

I 조의 6-10에 따라 수정되지 않은 것을 지적하고 싶습니다 표시됩니다

SELECT * FROM tablename WHERE LIMIT 0, 5 

:처럼 또는 당신은 LIMIT 키워드를 사용할 수 있습니다 예. 편집 : 다른 답변과 일치하도록 편집 될 때까지. –

+1

나는 그 질문이 그들이 찾고있는 예에서 꽤 구체적이라고 생각한다. 대답으로, 나는 그것을 고려해야 할 것이라고 생각합니다. –

0

을 (5 개 행을 행 6 일부터 시작) :

LIMIT 절을 사용하면 SELECT 문에서 반환하는 행 수를 제한 할 수 있습니다. LIMIT는 하나 또는 두 개의 숫자 인수를 취하는데, 둘 다 음수가 아닌 정수 상수 여야합니다 (준비된 명령문을 사용할 때 제외).

두 인수를 사용하면 첫 번째 인수는 반환 할 첫 번째 행의 오프셋을 지정하고 두 번째 인수는 반환 할 최대 행 수를 지정합니다. 초기 행의 오프셋은 0 (1이 아님)입니다.

SELECT * FROM tbl LIMIT 5,10; # 행 검색 6-15

-1

왜 자동 증가 필드를 사용하지 않습니까? 이 기록 1,2,3,4,5

+0

자동 증가는이 특정 질문과 아무 관련이 없으며 예제는 어떤 식 으로든 5를 제외한 질문에 대답하지 않습니다. –

0
mysql> select * from employees order by emp_id; 
+--------+-----------------+---------+ 
| emp_id | name   | boss_id | 
+--------+-----------------+---------+ 
|  1 | f00    | NULL | 
|  2 | ali later  |  1 | 
|  3 | megan fox  |  1 | 
|  4 | jessica alba |  3 | 
|  5 | eva longoria |  3 | 
|  6 | keira knightley |  5 | 
|  7 | liv tyler  |  6 | 
|  8 | sophie marceau |  6 | 
+--------+-----------------+---------+ 
8 rows in set (0.00 sec) 

mysql> select * from employees order by emp_id limit 2,4; 
+--------+-----------------+---------+ 
| emp_id | name   | boss_id | 
+--------+-----------------+---------+ 
|  3 | megan fox  |  1 | 
|  4 | jessica alba |  3 | 
|  5 | eva longoria |  3 | 
|  6 | keira knightley |  5 | 
+--------+-----------------+---------+ 
4 rows in set (0.00 sec)