문제

제조사, 모델, 연도 및 기타 열이있는 자동차를 묘사하는 테이블이 있다고 가정 해 봅시다.

그것으로부터, 나는 최근 1 년 동안 각 제조업체와 모델의 전체 줄을 얻고 싶습니다.

또는 다른 방식으로 넣습니다. 각 행은 연도가 가장 큰 해당 행의 다른 데이터와 Make와 Model의 고유 한 조합을 갖습니다.

표준 SQL 솔루션이 좋을 것입니다.

도움이 되었습니까?

해결책

select t1.make, t1.model, t1.year, t1.other_cols
from table t1
where year = (select max(year) from table t2
              where t2.make = t1.make
              and t2.model = t1.model
             );

다른 팁

MySQL 솔루션 :

SELECT * FROM cars GROUP NY CONCAT(make, "-", model) ORDER BY year DESC;

이것은 어디에서나 가장 작동해야합니다.

SELECT c1.* 
FROM cars c1
INNER JOIN 
  (
     SELECT Make, Model, Max(Year) AS Year
     FROM cars
     GROUP BY Make, Model
  ) c2 ON c1.Make=c2.Make AND c1.Model=c2.Model, c1.Year=c2.Year

주요 경고는 해가 종종 예약 된 단어 (함수 이름)이며 예약 단어를 피하는 수단은 플라톤에 따라 다릅니다. 이를 해결하려면 연도 열을 Modelyear와 같은 것으로 바꾸십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top