mysql에서 max를 어떻게 사용하고 함께 제한 할 수 있습니까?
문제
다음 구조가있는 테이블이 있습니다.
id | 색깔
1 | 빨간색
2 | 푸른
3 | 노란색
8 | 자주색
10 | 초록
.
.
.
100 | 노란색
처음 5 행의 최대 ID 값을 잡을 수 있기를 원합니다.
예를 들어, 나는 같은 일을하고 싶습니다 : 테이블 한계 5에서 max (ID)를 선택하십시오.
이것이 값 10을 반환하기를 바라고 있습니다
그러나 MySQL은 계속 100을 반환합니다 ... MySQL은 한계 조항조차 보지 못합니다.
해결책
상위 5 개 레코드 (ID로 주문)를 선택한 다음 해당 그룹의 가장 높은 값을 얻으려는 것 같습니다. 그렇다면:
SELECT
MAX(ID)
FROM
(
SELECT ID
FROM YourTable
ORDER BY ID
LIMIT 5
) as T1
다른 팁
하위 선택보다 더 좋은 방법이 있습니다.
SELECT id FROM table LIMIT 4,1
하나의 행을 얻지 만 먼저 4를 건너 뛰십시오 .. 이것이 MyISAM 테이블 인 경우 'order by id'를 추가하십시오.
subselect를 사용하십시오.
SELECT MAX(id) FROM (SELECT id FROM table LIMIT 5);
그것은 유효한 SQL은 아니지만 일반적인 아이디어를 제공해야합니다.
다음 구조가있는 테이블이있는 경우
ID | Color
1 | red
2 | blue
3 | yellow
8 | purple
10| green
.
.
.
100|yellow
처음 5 (Auto_increment?) 값의 최대 ID 값은 5입니다. BTW, 처음 6 값의 최대 ID 값은 6이고 모든 값의 경우 100입니다. 친애하는.
제휴하지 않습니다 StackOverflow