3
입니다. 다른 식별자로 GROUP 된 MAX (id)의 목록을 반환하려는 단일 테이블이 있습니다. 그러나 특정 기준을 충족하면 그 기준을 충족시키지 못하는 행을 "trumps"하는 세 번째 열이 있습니다.SQL (MAX) (컬럼) 추가 기준이
예를 들어 설명하기가 쉽습니다. 샘플 테이블이 있습니다
이가 UniqueID (INT) 는 그룹 ID (INT) IsPriority (비트)
이원시 데이터 :의 groupId 1에는 행 IsPriority 세트가 없기 때문에
UniqueId GroupId IsPriority
-----------------------------------
1 1 F
2 1 F
3 1 F
4 1 F
5 1 F
6 2 T
7 2 T
8 2 F
9 2 F
10 2 F
그래서, 우리는 반환 가장 높은 UniqueId (5). groupId 2에는 IsPriority가 설정된 행이 있으므로이 값 (7)으로 가장 높은 UniqueId를 반환합니다.
그래서 출력은 다음과 같습니다5
7
나는이 무력 할 수있는 방법을 생각할 수 있지만, 나는 하나의 쿼리에서이 작업을 수행 할 수 있는지 찾고 있습니다.