여기에는 많은 관련 주제가 있지만 실제로 문제는 해결되지 않았습니다.그룹별로 가장 높은 결과를 얻은 다음 날짜순으로 그룹화하십시오.
SalesTable :
PersonID | SaleAmount | SaleDate | TransactionID
6117 | 10 | 2013-03-13 | 1
6117 | 10 | 2013-03-11 | 2
6400 | 100 | 2013-03-12 | 3
6400 | 10 | 2013-02-05 | 4
6525 | 0 | 2013-03-14 | 5
6400 | 0 | 2013-04-01 | 6
내가 각 사람으로부터 가장 높은 판매 금액의 거래를 할 수 있습니다. 동일한 사람의 모든 거래가 동일한 판매 금액 인 경우 최신 날짜로 반환하십시오.
예상 결과 :
PersonID | SaleAmount | SaleDate | TransactionID
6117 | 10 | 2013-03-13 | 1
6400 | 100 | 2013-03-12 | 3
6525 | 0 | 2013-03-14 | 5
나는 가장 높은 판매로 사람이 문제 그룹에 수 없었다 그러나 모든 판매 금액은 한 사람에서 동일하면 최신 트랜잭션을 얻을 couldnt한다. 그것은 나에게 잘못된 날짜를 줄 것이기 때문에
select personid, max(saleamount) from SalesTable group by personid
이
select personid, max(saleamount), max(saledate)
from SalesTable
group by personid
잘못입니다 6400
6117 | 10 | 2013-03-13 | 1
6400 | 100 | 2013-04-01 | 3
6525 | 0 | 2013-03-14 | 5
이있는 RDBMS를 지정하십시오 적절한 태그 (Oracle, SQL Se rver, MySQL 등). 보편적으로 지원되지 않는 언어 나 제품 기능을 이용하는 대답이있을 수 있습니다. 또한 특정 RDBMS로 태그를 지정하면 답변에 더 적합한 사람들로부터 질문을받을 수 있습니다. – Taryn