Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

제한된 수의 레코드를 선택하기 위해 MySQL에 SELECT TOP 명령이 있습니까?

<시간/>

MySQL에는 TOP의 개념이 없습니다. 쿼리를 작성하는 다른 방법은 LIMIT를 사용하는 것입니다. 즉, 2개의 레코드를 선택하려면 TOP 2를 사용해야 합니다. MySQL에서 동일한 구문을 살펴보겠습니다.

SELECT *FROM yourTableName ORDER BY yourColumnName DESC LIMIT 2;

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> 테이블 Top2Demo 생성 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20), -> Age int -> );쿼리 OK, 영향을 받는 행 0개(0.91초)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오.

쿼리는 다음과 같습니다.

mysql> insert into Top2Demo(Name,Age) values('Larry',23);Query OK, 영향을 받는 행 1개(0.13초)mysql> Top2Demo(Name,Age) values('Bob',21)에 삽입;Query OK, 영향을 받는 1행(0.10초)mysql> Top2Demo(Name,Age) values('Sam',19)에 삽입;Query OK, 영향을 받는 1행(0.14초)mysql> Top2Demo(Name,Age)에 삽입 values('David',25);쿼리 OK, 1행 영향(0.15초)mysql> Top2Demo(Name,Age)에 삽입 values('Carol',22);Query OK, 1행 영향(0.39초) 

select 문을 사용하여 테이블의 모든 레코드를 표시합니다.

쿼리는 다음과 같습니다.

mysql> 선택 *Top2Demo;

다음은 출력입니다.

+----+-------+------+| 아이디 | 이름 | 나이 |+----+-------+------+| 1 | 래리 | 23 || 2 | 밥 | 21 || 3 | 샘 | 19 || 4 | 데이비드 | 25 || 5 | 캐롤 | 22 |+----+-------+------+5행 세트(0.00초)

다음은 LIMIT 2를 사용하여 상위 2개 레코드를 선택하는 쿼리입니다.

mysql> SELECT * FROM Top2Demo ORDER BY 연령 DESC LIMIT 2;

다음은 출력입니다.

+----+-------+------+| 아이디 | 이름 | 나이 |+----+-------+------+| 4 | 데이비드 | 25 || 1 | 래리 | 23 |+----+-------+------+2행 세트(0.00초)