집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 'ORDER BY' 절에서 영숫자 데이터를 올바르게 정렬하는 방법은 무엇입니까?
MySQL에서 'Order By' 절은 지정된 열의 값을 기준으로 데이터를 정렬합니다. 그러나 영숫자 데이터를 처리할 때 기본 정렬 방법은 첫 번째 숫자를 우선시하므로 잘못된 순서로 이어집니다.
예를 들어 다음과 같은 데이터가 있는 경우:
1 2 3 4 5 6 7 8 9 10 11 12
그리고 쿼리를 실행합니다.
select * from table order by xxxxx asc
결과는 다음과 같습니다. 다음과 같이 정렬됩니다:
1 10 11 12 2 3 4 5 6 7 8 9
순서는 이후 문자에 관계없이 첫 번째 숫자로 결정되기 때문입니다.
영숫자 데이터를 올바르게 정렬하려면 , 다양한 트릭을 사용할 수 있습니다.
Bin 방식을 사용한 영숫자 정렬:
SELECT tbl_column, BIN(tbl_column) AS binray_not_needed_column FROM db_table ORDER BY binray_not_needed_column ASC , tbl_column ASC
자연 정렬:
SELECT alphanumeric, integer FROM sorting_test ORDER BY LENGTH(alphanumeric), alphanumeric
영숫자 값과 혼합된 숫자 값 정렬:
SELECT version FROM version_sorting ORDER BY CAST(version AS UNSIGNED), version;
이러한 트릭을 사용하면 영숫자 데이터가 정렬되도록 할 수 있습니다. 정확하게 항목의 원하는 순서를 유지합니다.
위 내용은 MySQL의 'ORDER BY' 절에서 영숫자 데이터를 올바르게 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!