[SQL] 액세스에서 그룹 SQL 당 상위 N 개 기록
SQL액세스에서 그룹 SQL 당 상위 N 개 기록
나는 시험의 점수를 추적하는 일부 소프트웨어를 제작하고있다. 사용자 테이블에 저장되어있는 세부있는 다수의 사용자가 있습니다. 날짜와 그것이의 점수 사용자와의 점수를 추적하는 진행 테이블은 있습니다.
이미 선택된 사용자 ID에 대한 3 개 가장 최근의 기록을 선택할 수 있습니다
SELECT TOP 3 Progress.LoginID, Progress.Score, Progress.[Date Taken]
FROM Progress
WHERE (((Progress.LoginID)=[Enter LoginID:]))
ORDER BY Progress.[Date Taken] DESC;
그리고 난은 loginid별로 그룹화 모든 레코드를 표시 할 수 있습니다
SELECT Progress.LoginID, Progress.Score, Progress.[Date Taken]
FROM Progress
GROUP BY Progress.LoginID, Progress.Score, Progress.[Date Taken];
나는 한 쿼리에서 각 사용자에 대한 3 개 가장 최근의 기록을 보여줄 수 있어야합니다 나는 그렇게 중첩 된 쿼리 / 하위 쿼리를 사용하는 방법 확실 해요.
사용자 테이블의 필드 이름은 다음과 같습니다 :
LoginID
Forename
Surname
DOB
Guardian Forename
Guardian Surname
Telephone Number
진행 테이블의 필드 이름은 다음과 같습니다 :
ProgressID
LoginID
Score
Date Taken
어떤 도움을 주시면 감사하겠습니다.
해결법
-
==============================
1.나는 년 전에 비슷한 문제가 있었다 : 상위 3 그룹 0을 포함하여 당
나는 년 전에 비슷한 문제가 있었다 : 상위 3 그룹 0을 포함하여 당
같은 방법을 사용하여,이 각은 loginid의 최신 세 날짜를 반환합니다 - 동일은 loginid에 대한 날짜가 연결되어 있다면 당신은 세 개 이상의 기록을 얻을 수 있습니다.
SELECT PR1.LogInID, PR1.Score, PR1.[Date Taken] FROM Progress AS PR1 WHERE PR1.[Date Taken] IN ( SELECT TOP 3 PR2.[Date Taken] FROM Progress PR2 WHERE PR2.LoginID = PR1.LoginID ORDER BY PR2.[Date Taken] DESC ) ORDER BY LoginID, [Date Taken]
from https://stackoverflow.com/questions/41220690/top-n-records-per-group-sql-in-access by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 이 JasperReport에서 매개 변수 목록 "에서"SQL 통과 (0) | 2020.05.05 |
---|---|
[SQL] 어떻게 체중을 고려하여 무작위로 하나 개의 행을 선택하려면? (0) | 2020.05.05 |
[SQL] .NET에서 동적 SQL에서 살균 테이블 / 열 이름? (방지 SQL 인젝션) (0) | 2020.05.05 |
[SQL] 어떻게 T-SQL을 사용하여 구분 기호 문자를 사용하여 문자열을 분할하려면? (0) | 2020.05.05 |
[SQL] 에 .dtsx 파일에서 자동화 버전 번호 검색 (0) | 2020.05.05 |