[SQL] ORDER BY는 먼저 숫자에 따라 알파벳
SQLORDER BY는 먼저 숫자에 따라 알파벳
MySQL의 순서에 약간의 비틀기를 찾고 나는, 나는 일반적으로 테이블에서 레코드를 선택하고 이름 (VARCHAR) ASC에 의해 기록을 주문하지만, 수는 항상 먼저 와서
여기에 내 질문의 일부 예 (참고. 처음 0-9로 레코드를 정렬 MYSQL)
SELECT name FROM list ORDER BY name ASC
record returned:
1 star
2 star
9 slice
Ape
Age
Beg
Bell
Fish
Zoo
내가 원하는 숫자에 따라 먼저 오는 알파벳 순서입니다
원하는 출력
Ape
Age
Beg
Bell
Fish
Zoo
1 star
2 star
9 slice
해결법
-
==============================
1.BY 절 다음 순서를 사용 :
BY 절 다음 순서를 사용 :
ORDER BY IF(name RLIKE '^[a-z]', 1, 2), name
-
==============================
2.이 Ref
이 Ref
SELECT name FROM list ORDER BY name * 1 ASC
편집
SELECT name FROM list ORDER BY name * 1, name ASC
-
==============================
3.당신이 뭔가를 시도 할 수 있습니다 :
당신이 뭔가를 시도 할 수 있습니다 :
SELECT name FROM list ORDER BY IF(name REGEXP '^[0-9]', CONCAT('zz',name),name) ASC
그래서 이름이 숫자로 시작하는 경우 CONCATENATE 'ZZ'태초에 (그래서 마지막이 될 것입니다)
-
==============================
4.이 시도..
이 시도..
그것은 당신의 답변을 얻을 수있는 간단한
SELECT name from list ORDER BY (name +0) ASC ,name ASC
from https://stackoverflow.com/questions/17418215/order-by-alphabet-first-then-follow-by-number by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 현재 행의 다음 또는 이전 행에 대해 행을 당겨 (0) | 2020.06.09 |
---|---|
[SQL] SQLite는 내부 조인 - 업데이트가 다른 테이블의 값을 사용하여 (0) | 2020.06.09 |
[SQL] 어떻게 열 및 업데이트 테이블의 값을 정렬하려면? (0) | 2020.06.09 |
[SQL] MySQL의 GROUP BY 날짜 시간 +/- 삼초 (0) | 2020.06.09 |
[SQL] 어떻게 JPA 명명 된 쿼리의 IN 절에서 동적 매개 변수를 사용하는 방법? (0) | 2020.06.09 |