ORDER BY RIGHT()를 사용하여 마지막 2개의 문자열을 ORDER BY할 수 있습니다.
구문은 다음과 같습니다.
select yourColumnName from yourTableName ORDER BY RIGHT(yourColumnName , 2);에서 yourColumnName 선택
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table OrderByLast2CharactersDemo -> ( -> CustomerId varchar(20), -> CustomerName varchar(20) -> ); Query OK, 0 rows affected (0.58 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('John-98','John'); Query OK, 1 row affected (0.20 sec) mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('Carol-91','Carol'); Query OK, 1 row affected (0.21 sec) mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('Bob-99','Bob'); Query OK, 1 row affected (0.22 sec) mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('David-67','David'); Query OK, 1 row affected (0.15 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from OrderByLast2CharactersDemo;
다음은 출력입니다.
+------------+--------------+ | CustomerId | CustomerName | +------------+--------------+ | John-98 | John | | Carol-91 | Carol | | Bob-99 | Bob | | David-67 | David | +------------+--------------+ 4 rows in set (0.00 sec)
다음은 마지막 2자 문자열로 정렬하는 쿼리입니다.
사례 1 :결과는 오름차순입니다.
쿼리는 다음과 같습니다 -
mysql> select CustomerId from OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId , 2);에서 CustomerId 선택
다음은 출력입니다.
+------------+ | CustomerId | +------------+ | David-67 | | Carol-91 | | John-98 | | Bob-99 | +------------+ 4 rows in set (0.01 sec)
사례 2 결과는 내림차순입니다.
쿼리는 다음과 같습니다 -
mysql> select CustomerId from OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId , 2) DESC;
다음은 출력입니다.
+------------+ | CustomerId | +------------+ | Bob-99 | | John-98 | | Carol-91 | | David-67 | +------------+ 4 rows in set (0.00 sec)