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

SQL에서 모든 대체 행을 선택하고 내림차순으로 표시하려면 어떻게 해야 합니까?

<시간/>

모든 대체 행을 가져오려면 WHERE에서 MOD()를 사용하십시오. 그런 다음 ORDER BY DESC를 사용하여 결과를 내림차순으로 표시합니다. -

select *from yourTableName where mod(yourColumnName,2)=1 order by yourColumnName DESC;

먼저 테이블을 생성하겠습니다 -

mysql> 테이블 생성 DemoTable( UniqueId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(40), ClientAge int); 쿼리 확인, 영향을 받는 행 0개(1.02초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable(ClientName,ClientAge) values('Chris',34);Query OK, 영향을 받는 행 1개(0.47초)mysql> insert into DemoTable(ClientName,ClientAge) values('Tom',45);Query OK, 1행 영향(0.19초)mysql> DemoTable(ClientName,ClientAge) values('Sam',36)에 삽입;Query OK, 1행 영향(0.16초)mysql> DemoTable(ClientName,ClientAge)에 삽입 values('Carol',42);쿼리 확인, 1행 영향(0.25초)mysql> DemoTable(ClientName,ClientAge)에 삽입 values('David',38);쿼리 확인, 1행 영향(0.12초) 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+----------+------------+-----------+| 고유 ID | 클라이언트 이름 | ClientAge |+----------+------------+------------+| 1 | 크리스 | 34 || 2 | 톰 | 45 || 3 | 샘 | 36 || 4 | 캐롤 | 42 || 5 | 데이비드 | 38 |+----------+------------+----------+5행 세트(0.00초)

이제 모든 대체 행을 선택하고 내림차순으로 표시하겠습니다. −

mysql> select *from DemoTable where mod(UniqueId,2)=1 order by UniqueId DESC;

이것은 다음과 같은 출력을 생성합니다 -

+----------+------------+-----------+| 고유 ID | 클라이언트 이름 | ClientAge |+----------+------------+------------+| 5 | 데이비드 | 38 || 3 | 샘 | 36 || 1 | 크리스 | 34 |+----------+------------+----------+3행 세트(0.00초)