수색…


비고

ORDER BY 절의 목적은 쿼리에서 반환 된 데이터를 정렬하는 것입니다.

ORDER BY 절이 없으면 쿼리에서 반환하는 행순서는 정의되지 않습니다.

ORDER BY 절에 대한 자세한 내용은 MSDN 설명서를 참조하십시오. https://msdn.microsoft.com/en-us/library/ms188385.aspx

간단한 ORDER BY 절

다음은 Employees 테이블을 사용하여 Id, FName 및 LName 열을 (오름차순) LName 순서로 반환하는 예제입니다.

SELECT Id, FName, LName FROM Employees
ORDER BY LName

보고:

신분증 FName LName
2 남자 존슨
1 제임스 스미스
4 조나단 스미스
남자 이름 윌리엄스

내림차순으로 정렬하려면 field 매개 변수 다음에 DESC 키워드를 추가하십시오. 예를 들어, LName 내림차순의 동일한 쿼리는 다음과 같습니다.

SELECT Id, FName, LName FROM Employees
ORDER BY LName DESC

여러 필드로 주문

ORDER BY 절에는 ASCending 또는 DESCending 순서로 여러 필드를 지정할 수 있습니다.

예를 들어, http://stackoverflow.com/documentation/sql/280/example-databases/1207/item-sales-table#t=201607211314066434211 테이블을 사용하면 SaleDate별로 오름차순으로 정렬 된 쿼리를 반환 할 수 있습니다. 수량이 내림차순으로 표시됩니다.

SELECT ItemId, SaleDate, Quantity
FROM [Item Sales]
ORDER BY SaleDate ASC, Quantity DESC

ASC 키워드는 선택 사항이며 결과는 기본적으로 주어진 필드의 오름차순으로 정렬됩니다.

복잡한 논리를 가진 ORDER BY

그룹별로 데이터를 다르게 정렬하려면 CASE 구문을 ORDER BY 추가 할 수 있습니다. 이 예에서는 부서 1의 직원과 부서 2의 직원을 급여로 주문하겠습니다.

신분증 FName LName 전화 번호 관리자 ID DepartmentId 봉급 HireDate
1 제임스 스미스 1234567890 없는 1 1000 01-01-2002
2 남자 존슨 2468101214 1 1 400 23-03-2005
남자 이름 윌리엄스 1357911131 1 2 600 12-05-2009
4 조나단 스미스 1212121212 2 1 500 24-07-2016
5 색슨 족 1372141312 2 2 400 25-03-2015
The following query will provide the required results:
SELECT Id, FName, LName, Salary FROM Employees
ORDER BY Case When DepartmentId = 1 then LName else Salary end

주문 주문

알파벳 순서 / 숫자 순서 이외의 다른 것을 사용하여 열별로 정렬하려는 case 를 사용하여 원하는 순서를 지정할 수 있습니다.

order by Group :

그룹 카운트
은퇴하지 않았다. 6
은퇴 한 4
합계 10

order by case group when 'Total' then 1 when 'Retired' then 2 else 3 end 반환 :

그룹 카운트
합계 10
은퇴 한 4
은퇴하지 않았다. 6


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow