반응형
테이블에서 TOP N 행을 선택합니다.
몇 가지 페이징을 하고 있는데, 몇 가지 쿼리를 작성하여 정의된 슬라이싱 결과를 얻어야 합니다. 예를 들어 다음과 같습니다.20n < x < 40n 등 범위의 모든 "위" 행을 취득해야 합니다.
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC;
그리고 이제 아이디라는 컬럼별로 슬라이딩을 해야 합니다.
mysql, mssql 및 oracle에서 쿼리를 실행해야 합니다.
페이지 사이즈가 20 레코드이고 페이지 넘버 2를 취득하고 싶다고 가정하면, 다음과 같습니다.
SQL Server, Oracle:
SELECT * -- <-- pick any columns here from your table, if you wanna exclude the RowNumber
FROM (SELECT ROW_NUMBER OVER(ORDER BY ID DESC) RowNumber, *
FROM Reflow
WHERE ReflowProcessID = somenumber) t
WHERE RowNumber >= 20 AND RowNumber <= 40
MySQL:
SELECT *
FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 20 OFFSET 20
MySql에서는 20행부터 10행을 취득할 수 있습니다.
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 10 OFFSET 20 --Equivalent to LIMIT 20, 10
select * from table_name LIMIT 100
이것은 MYSQL에서만 동작합니다.
이 링크도 체크할 수 있습니다.
선택 * 시작master_question
1 주문 기준question_id
ASC 제한 20
SQL Server 2012부터는 네이티브 페이지 번호를 사용하여 반복원성과 최고의 성능을 얻을 수 있습니다.
쿼리는 다음과 같습니다.
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC;
OFFSET 20 ROWS
FETCH NEXT 20 ROWS ONLY;
언급URL : https://stackoverflow.com/questions/9150370/select-the-top-n-rows-from-a-table
반응형
'bestsource' 카테고리의 다른 글
입력되지 않은 npm 모듈에 대한 TypeScript 사용자 지정 선언 파일 (0) | 2023.02.23 |
---|---|
Wordpress 다중 사이트 설치(3.0)에서 모든 블로그 옵션 테이블을 동시에 쿼리하려면 어떻게 해야 합니까? (0) | 2023.02.23 |
ASP의 Date Time 포맷.시스템을 사용한NET Core 3.0Text.Json (0) | 2023.02.23 |
restAssured를 사용한 스프링 부트레스트 응용 프로그램 테스트 (0) | 2023.02.23 |
AngularJS - 앵커 태그에 대해 ng-disabled가 작동하지 않음 (0) | 2023.02.23 |