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

먼저 값을 기준으로 항목을 선택한 다음 MySQL의 나머지 레코드에 대해 날짜를 기준으로 주문합니다.

<시간/>

ORDER BY를 사용하여 레코드를 수정한 다음 표시합니다.

select * from yourTableName
order by yourColumnName1=yourValue desc,yourColumnName2;

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

mysql> create table DemoTable1932
   (
   UserName varchar(20),
   ShippingDate date
   );
Query OK, 0 rows affected (0.00 sec)

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

mysql> insert into DemoTable1932 values('Chris','2018-10-12');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1932 values('David','2019-04-11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1932 values('Mike','2016-12-04');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1932 values('Carol','2017-12-26');
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1932;

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

+----------+--------------+
| UserName | ShippingDate |
+----------+--------------+
| Chris    | 2018-10-12   |
| David    | 2019-04-11   |
| Mike     | 2016-12-04   |
| Carol    | 2017-12-26   |
+----------+--------------+
4 rows in set (0.00 sec)

먼저 값을 기준으로 항목을 선택한 다음 날짜 기준으로 주문하는 쿼리입니다 -

mysql> select * from DemoTable1932
    order by UserName='David' desc,ShippingDate;

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

+----------+--------------+
| UserName | ShippingDate |
+----------+--------------+
| David    | 2019-04-11   |
| Mike     | 2016-12-04   |
| Carol    | 2017-12-26   |
| Chris    | 2018-10-12   |
+----------+--------------+
4 rows in set (0.00 sec)