"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > SQL 쿼리가 아닌 체크 금액에 대한 최대 날짜 행입니다

SQL 쿼리가 아닌 체크 금액에 대한 최대 날짜 행입니다

2025-04-14에 게시되었습니다
검색:507

How to Select Maximum Date Rows with Non-Zero Check Amounts in SQL?

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 )를 열 이름을 강력하게 낙담시키기 때문에

. SQL 구문 오류로 이어지고 코드를 유지하기가 더 어려워 질 수 있습니다. 열에 대한 설명적이고 모호하지 않은 이름을 고려하십시오.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3