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

MySQL에서 두 개의 다른 열을 사용하는 사용자 지정 정렬?

<시간/>

이를 위해 CASE 문과 함께 ORDER BY 절을 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> Create table DemoTable1610 -> ( -> Marks int, -> Name varchar(20) -> );Query OK, 영향을 받는 행 0개(0.51초)

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

mysql> insert into DemoTable1610 values(85,'John');Query OK, 1개의 row가 영향을 받았습니다(0.18초)mysql> insert into DemoTable1610 values(78,'Carol');Query OK, 1개의 row가 영향을 받았습니다(0.11초 )mysql> insert into DemoTable1610 values(78,'John');쿼리 OK, 1행 영향(0.22초)mysql> insert into DemoTable1610 values(85,'Carol');Query OK, 1행 영향(0.20초) 

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

mysql> DemoTable1610에서 * 선택;

그러면 다음과 같은 출력이 생성됩니다.

+-------+-------+| 마크 | 이름 |+-------+-------+| 85 | 존 || 78 | 캐롤 || 78 | 존 || 85 | 캐롤 |+-------+-------+4행 세트(0.00초)

다음은 MySQL에서 두 개의 서로 다른 열을 사용하여 맞춤 정렬하는 쿼리입니다.

mysql> select * from DemoTable1610 -> Marks로 주문, Name='Carol'일 때 case, else 0 end;

그러면 다음과 같은 출력이 생성됩니다.

+-------+-------+| 마크 | 이름 |+-------+-------+| 78 | 존 || 78 | 캐롤 || 85 | 존 || 85 | 캐롤 |+-------+-------+4행 세트(0.00초)