열로 정렬하고 끝에 빈 레코드를 배치하려면 ORDER By를 사용하고 MySQL에서 "is null"을 사용합니다. 구문은 다음과 같습니다 -
select *from yourTableName order by if(yourColumName = ’ ’ or yourColumName is null,1,0),yourColumnName;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table emptyCellsAtEnd −> ( −> ProductId varchar(100) −> ); Query OK, 0 rows affected (0.65 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 이 레코드 중 일부는 비어 있습니다. 쿼리는 다음과 같습니다 -
mysql> insert into emptyCellsAtEnd values(''); Query OK, 1 row affected (0.23 sec) mysql> insert into emptyCellsAtEnd values('P-1'); Query OK, 1 row affected (0.21 sec) mysql> insert into emptyCellsAtEnd values('P-2'); Query OK, 1 row affected (0.14 sec) mysql> insert into emptyCellsAtEnd values(''); Query OK, 1 row affected (0.15 sec) mysql> insert into emptyCellsAtEnd values('P-3'); Query OK, 1 row affected (0.18 sec) mysql> insert into emptyCellsAtEnd values('P-4'); Query OK, 1 row affected (0.09 sec) mysql> insert into emptyCellsAtEnd values('P-9'); Query OK, 1 row affected (0.11 sec) mysql> insert into emptyCellsAtEnd values(''); Query OK, 1 row affected (0.15 sec) mysql> insert into emptyCellsAtEnd values('P-8'); Query OK, 1 row affected (0.17 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from emptyCellsAtEnd;
다음은 출력입니다 -
+-----------+ | ProductId | +-----------+ | | | P-1 | | P-2 | | | | P-3 | | P-4 | | P-9 | | | | P-8 | +-----------+ 9 rows in set (0.00 sec)
이제 마지막으로 빈 셀을 배치하기 위해 처음에 논의한 쿼리를 구현할 수 있습니다. 마지막에 빈 셀을 배치하는 쿼리는 다음과 같습니다. -
mysql> select *from emptyCellsAtEnd −> order by if(ProductId = '' or ProductId is null,1,0),ProductId;
다음은 출력입니다 -
+-----------+ | ProductId | +-----------+ | P-1 | | P-2 | | P-3 | | P-4 | | P-8 | | P-9 | | | | | | | +-----------+ 9 rows in set (0.00 sec)