MySQL Limit 쿼리는 다음과 같은 용도로 사용됩니다. 얽매다 대신 결과 집합에서 반환되는 행 수 가져오는 중 MySQL 데이터베이스의 전체 세트. Limit 절은 지정된 수의 행만 반환하기 위해 SELECT 문과 함께 작동합니다. 이 쿼리는 하나 또는 두 개의 인수만 허용하며 해당 값은 0 또는 양의 정수여야 합니다.
테이블에 수천 개의 행이 포함되어 있거나 최근에 삽입된 데이터만 반환하려는 경우에 필수적입니다. 즉, 쿼리에서 반환된 모든 행을 가져오는 데 관심이 없으면 SELECT 문과 함께 MySQL Limit 절을 사용하세요. 이는 쿼리 성능을 향상시키고 테이블에 많은 양의 데이터가 포함되어 있는 경우 시스템 충돌을 방지합니다.
테이블에서 지정된 행만 가져오기 위해 MySQL은 다음을 사용합니다. 한계 절을 사용하는 반면 SQL은 맨 위 절이며 Oracle은 다음을 사용합니다. 행번호 조항 선택하다 성명.
통사론
다음은 Limit 쿼리를 사용하는 구문입니다. MySQL :
SELECT column_list FROM table_name LIMIT offset, count;
위 구문에서 다음을 볼 수 있습니다.
열_목록: 반환하려는 열의 이름입니다.
테이블_이름: 열 이름이 포함된 테이블의 이름입니다.
오프셋: 반환하려는 행의 번호를 지정합니다. 행의 오프셋은 1이 아닌 0부터 시작됩니다.
세다: 반환하려는 최대 행 수를 지정합니다.
다음 시각적 표현은 이를 보다 명확하게 설명합니다.
참고: Limit 절에 하나의 인수만 지정하는 경우 MySQL은 결과 집합에서 출력을 반환하기 위한 최대 행 수를 결정하기 위해 이를 가정합니다. 이 경우 Limit 절 인수, 오프셋 및 개수는 동일합니다.
LIMIT 절과 ORDER BY 절
사용자는 Order By 절과 함께 Limit 절을 사용해야 합니다. Order By 절을 사용하지 않으면 다음과 같은 결과를 얻을 수 있습니다. 불특정 주문 . 이 경우 쿼리가 어떤 행의 결과를 반환하는지 알기가 어렵습니다. 따라서 사용하는 것이 좋은 습관입니다. Group By 절 특정 순서로 행을 가져오기 위한 Limit 절이 있습니다.
다음 구문을 사용하여 고유한 순서로 결과를 얻을 수 있습니다.
SELECT column_list FROM table_name GROUP BY order_expression LIMIT offset, count;
MySQL 제한 예
다음 데이터를 포함하는 데이터베이스에 샘플 테이블을 생성하고 다양한 예를 사용하여 MySQL에서 Limit 절이 작동하는 방식을 이해해 보겠습니다.
표: 직원
1. 가장 높거나 가장 낮은 행을 반환하는 MySQL 제한
상위 5명의 젊은 직원을 구하는 데 사용된 다음 진술은 다음과 같습니다.
SELECT * FROM employees ORDER BY emp_age LIMIT 5;
이 문은 먼저 Group By 절을 사용하여 직원 연령을 정렬한 다음 Limit 절이 상위 5개 결과를 반환합니다. 위의 단계를 실행하면 다음과 같은 결과가 출력됩니다.
2. 오프셋을 사용하여 행 범위를 가져오는 MySQL 제한
때로는 값 범위 사이의 결과를 얻고 싶을 때가 있습니다. 예를 들어, 애플리케이션에 데이터를 표시하기 위한 많은 수의 행이 있고 이를 페이지로 나누고 각 페이지에는 테이블에 최대 10개의 행이 포함됩니다. 이 경우 다음 쿼리를 사용하여 행 범위를 가져올 수 있습니다.
SELECT emp_id, emp_name, income FROM employees ORDER BY income DESC LIMIT 3,7;
이 문은 행 번호 3부터 시작하여 최대 7번째 행까지의 행을 반환합니다. 또한 직원의 소득을 높은 순서에서 낮은 순서로 정렬합니다. 쿼리를 실행하면 다음과 같은 출력이 표시됩니다.
문자열을 char로 변환 java
3. WHERE 절을 사용한 MySQL 제한
MySQL Limit은 WHERE 절을 사용하여 작업할 수도 있습니다. 먼저 테이블에 지정된 조건을 확인하고 조건과 일치하는 행을 생성합니다.
이 쿼리는 나이가 30세보다 큰 처음 5명의 직원을 선택합니다. 여기서도 Order By 절을 사용하여 소득을 기준으로 직원을 내림차순으로 정렬했습니다.
SELECT emp_name, emp_age, income FROM employees WHERE emp_age>30 ORDER BY income DESC LIMIT 5;
위 명령문을 성공적으로 실행하면 다음과 같은 결과가 출력됩니다.
4. n번째 최고 또는 최저 값을 얻기 위한 MySQL LIMIT
때로는 n번째로 높은 값이나 가장 낮은 값의 행을 가져오고 싶을 때가 있습니다. 이 경우 다음 MySQL LIMIT 절을 사용하여 예상 결과를 얻을 수 있습니다.
SELECT column_list FROM table_name ORDER BY expression LIMIT n-1, 1;
이 구문에서 LIMIT n-1, 1 절은 행 n에서 시작하는 1개의 행을 반환합니다.
예를 들어, 다음 쿼리는 소득이 두 번째로 높은 직원 정보를 반환합니다.
SELECT emp_name, city, income FROM employees ORDER BY income LIMIT 1, 1;
위 명령문을 실행하면 다음 쿼리가 제공됩니다.
위의 쿼리는 테이블에 수입이 있는 두 명의 직원이 포함되어 있지 않은 경우에만 작동한다는 점에 유의하세요. 그런 경우에는 다음을 사용하겠습니다. 밀도_순위() 좀 더 정확한 결과를 얻으려면.