특정 값이 있는 행을 먼저 반환
문제:
데이터를 검색하려고 합니다. 테이블에서 특정 열에 특정 값이 포함된 행의 우선순위를 지정합니다. 나머지 행은 다른 열을 기준으로 알파벳 순서로 따라야 합니다.
다음 구조를 가진 사용자 테이블 예제를 고려하세요.
id | name | city |
---|---|---|
1 | George | Seattle |
2 | Sam | Miami |
3 | John | New York |
4 | Amy | New York |
5 | Eric | Chicago |
6 | Nick | New York |
해결책:
특정 값을 기준으로 행의 우선순위를 지정하고 나머지 행을 알파벳순으로 정렬하려면 다음을 사용하세요. 쿼리:
ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
설명:
CASE 표현식은 도시 열이 지정된 값('뉴욕')과 일치하는 행에 우선순위 값 1을 할당합니다. 다른 모든 행에 대한 우선순위 값은 2입니다. 이렇게 하면 '뉴욕'을 포함하는 행이 결과 집합에서 첫 번째로 나타납니다.
ORDER BY 절의 두 번째 부분인 도시는 도시 열을 기준으로 각 우선순위 그룹 내의 행을 알파벳순으로 추가로 정렬합니다.
이 쿼리는 다음 결과를 반환합니다.
id | name | city |
---|---|---|
3 | John | New York |
4 | Amy | New York |
6 | Nick | New York |
1 | George | Seattle |
2 | Sam | Miami |
5 | Eric | Chicago |
위 내용은 특정 값으로 행의 우선 순위를 지정한 다음 SQL에서 알파벳순으로 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!