아래 데이터에서 원하는 결과를 생성하는 sql을 작성하려고합니다.SQL : 최대 개수의 전체 레코드 얻기
데이터 :
IDNum Opt1 Opt2 Opt3 Count
1 A A E 1
1 A B J 4
2 A A E 9
3 B A F 1
3 B C K 14
4 A A M 3
5 B D G 5
6 C C E 13
6 C C M 1
원하는 결과 :
IDNum Opt1 Opt2 Opt3 Count
1 A B J 4
2 A A E 9
3 B C K 14
4 A A M 3
5 B D G 5
6 C C E 13
는 기본적으로 나는 각 ID 민, 가장 높은 횟수와 전체 레코드,합니다. 나는 그룹을 만들려고했으나 Opt1, Opt2, Opt3별로 그룹화하면 각 (ID Num, Opt2, Opt3, Opt4) 조합에 대해 가장 높은 수를 반환하기 때문에이 옵션이 작동하지 않습니다. ID 번호로만 그룹화하면 각 ID 번호에 대해 최대 값을 얻을 수 있지만 어떤 (Opt1, Opt2, Opt3) 조합이이 값을 제공하는지에 대한 정보가 손실됩니다.
이전에 해본 것처럼 느껴졌지 만 SQL에서는 자주 작동하지 않으므로 기억이 안납니다. 이 작업을 수행하는 쉬운 방법이 있습니까?
특정 행을 선택하기 위해 ID 열이 있습니까 (아니면 하나 추가 할 수 있습니까)? 나는 그것이 하나없이 가능하다고 생각하지 않는다. –