SQL 테이블에서 0이 아닌 체크 값을 가진 최신 항목 추출
이 안내서는 각 그룹의 최신 레코드를 효율적으로 검색하여 0이 아닌 점검 금액을 필터링하는 방법을 보여줍니다. 다음과 같이 구성된 테이블을 가정 해 봅시다 :
group date cash checks
1 1/1/2013 0 0
2 1/1/2013 0 800
1 1/3/2013 0 700
3 1/1/2013 0 600
1 1/2/2013 0 400
3 1/5/2013 0 200
다음 SQL 접근 방식은 이것을 달성합니다 :
먼저, 가
값이 0보다 큰 각 그룹의 최대 날짜를 찾습니다 :
SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group;
이 수율 :
group max_date
2 1/1/2013
1 1/3/2013
3 1/5/2013
다음으로, 우리는이 결과를 원래 테이블로 되돌려 해당 checks
Atcements :
SELECT t.group, t.date AS max_date, t.checks
FROM table t
INNER JOIN (
SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group
) AS a ON a.group = t.group AND a.max_date = t.date;
이 최종 쿼리는 원하는 출력을 생성합니다 :
group max_date checks
2 1/1/2013 800
1 1/3/2013 700
3 1/5/2013 200
중요 참고 : 예약 된 단어 ( date
)를 열 이름을 강력하게 낙담시키기 때문에
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3