반응형
테이블에서 가장 큰 ID를 가진 전체 행을 선택하려면 어떻게 해야 합니까?
내가 어떻게 이런 일을 하겠어?
SQL SELECT 행 FROM 테이블의 WHERE ID=max(id)
하위 선택을 사용할 수 있습니다.
SELECT row
FROM table
WHERE id=(
SELECT max(id) FROM table
)
주의: 의 경우max(id)
고유하지 않습니다.여러 행이 반환됩니다.
이러한 행이 하나만 필요한 경우 @MichaelMior의 답변을 사용합니다.
SELECT row from table ORDER BY id DESC LIMIT 1
할 수도 있고
SELECT row FROM table ORDER BY id DESC LIMIT 1;
그러면 ID별로 행이 내림차순으로 정렬되고 첫 번째 행이 반환됩니다.이는 최대 ID로 행을 반환하는 것과 같습니다.이것은 물론 다음과 같은 것을 전제로 한다.id
는 모든 행에서 고유합니다.그렇지 않으면 최대값을 가진 행이 여러 개 있을 수 있습니다.id
딱 한 개만 받을 수 있어요
SELECT *
FROM table
WHERE id = (SELECT MAX(id) FROM TABLE)
줄 수 없다order by
왜냐면order by
는 테이블에서 "전체 스캔"을 수행합니다.
다음 조회가 더 좋습니다.
SELECT * FROM table WHERE id = (SELECT MAX(id) FROM table);
언제든지 분석 기능을 사용할 수 있으므로 제어력이 향상됩니다.
select tmp.row from ( select row, rank() over(partition by id order by id desc ) as rnk from table) tmp where tmp.rnk=1
데이터 유형에 따라 랭크() 함수의 문제가 발생할 경우 row_number() 또는 dense_rank() 중에서 선택할 수 있습니다.
이것으로 시험해봐
SELECT top 1 id, Col2, row_number() over (order by id desc) FROM Table
언급URL : https://stackoverflow.com/questions/7604893/how-do-i-select-an-entire-row-which-has-the-largest-id-in-the-table
반응형
'sourcecode' 카테고리의 다른 글
Eclipse WTP vs sydeo, "출판 없이 모듈 제공" (0) | 2022.09.16 |
---|---|
MariaDB Bitwise AND(&) 연산 (0) | 2022.09.16 |
csv 파일에서 사전을 생성하시겠습니까? (0) | 2022.09.16 |
원형 구조를 JSON과 같은 형식으로 인쇄하려면 어떻게 해야 합니까? (0) | 2022.09.16 |
유효하지 않은 대상 릴리스: 1.7 (0) | 2022.09.16 |