각 ID에 대해 최신 날짜가 여러 번 반복되는 SQL에서 행 선택
각 ID가 3번 반복되는 테이블이 있습니다.각 행의 각 ID 앞에 날짜가 있습니다.
나는 날짜가 가장 최근인 아이디별로 전체 행을 선택하고 싶습니다.이 표에는 총 370개의 열이 있습니다. 그 행을 선택할 때 모든 열을 선택했으면 합니다.
샘플 -
ID Name Date Marks .. .. ..
1 XY 4/3/2017 27
1 fv 4/3/2014 98
1 jk 4/3/2016 09
2 RF 4/12/2015 87
2 kk 4/3/2009 56
2 PP 4/3/2011 76
3 ee 4/3/2001 12
3 ppp 4/3/2003 09
3 lll 4/3/2011 23
답은 다음과 같습니다.
ID Name Date Marks .. .. ..
1 XY 4/3/2017 27
2 RF 4/12/2015 87
3 lll 4/3/2011 23
저는 아래와 같이 시도하고 있습니다.
select distinct ID,*,max(date) as maxdate from table
또한 나는 이것을 하이브에서 시도하고 있습니다. 그래서 일부 sql 기능이 하이브에서 작동하지 않는지 잘 모르겠습니다.
감사해요.
이 질문은 이전에 질문 받은 적이 있습니다.이 질문을 보세요.
수락한 답변을 사용하여 문제에 맞게 조정하면 다음과 같은 이점을 얻을 수 있습니다.
SELECT tt.*
FROM myTable tt
INNER JOIN
(SELECT ID, MAX(Date) AS MaxDateTime
FROM myTable
GROUP BY ID) groupedtt
ON tt.ID = groupedtt.ID
AND tt.Date = groupedtt.MaxDateTime
한가지 방법은:
select table.*
from table
join
(
select ID, max(Date) as max_dt
from table
group by ID
) t
on table.ID= t.ID and table.Date = t.max_dt
동일한 ID에 대해 동일하게 높은 날짜가 여러 개 있는 경우, 모든 행이 결과로 나타납니다.
상관된 하위 쿼리(주 쿼리의 필드를 참조하는 하위 쿼리)를 사용하여 이 작업을 수행할 수 있습니다.이 경우:
SELECT *
FROM yourtable t1
WHERE date = (SELECT max(date) from yourtable WHERE id = t1.id)
자, 우리는 다음과 같이 말합니다.yourtable
가명을 쓰다t1
그런 다음 하위 쿼리에 그 별칭을 사용합니다.max(date)
동표로yourtable
그 점을 위하여id
.
조인을 사용하여 이 작업을 수행할 수 있습니다.
SELECT t1.* from myTable t1
LEFT OUTER JOIN myTable t2 on t2.ID=t1.ID AND t2.`Date` > t1.`Date`
WHERE t2.`Date` IS NULL;
각 ID의 최신 날짜를 가진 행만 t2에 NULL 조인을 합니다.
한가지 방법이 있습니다.내부 쿼리는 각 ID의 최대 날짜를 가져옵니다.그러면 해당 행을 기본 테이블에 다시 연결하여 일치하는 행을 가져올 수 있습니다.
select
*
from
<your table>
inner join
(select id, max(<date col> as max_date) m
where yourtable.id = m.id
and yourtable.datecolumn = m.max_date)
다음을 시도해 보셨습니까?
SELECT ID, COUNT(*), max(date)
FROM table
GROUP BY ID;
언급URL : https://stackoverflow.com/questions/45381743/select-rows-in-sql-with-latest-date-for-each-id-repeated-multiple-times
'bestsource' 카테고리의 다른 글
메모리에서 컴퓨터 코드 실행 중 (0) | 2023.09.26 |
---|---|
WooCommerce API : 온라인상의 메타데이터로 주문생성 (0) | 2023.09.26 |
jQuery / javascript로 링크가 외부에 있는지 테스트? (0) | 2023.09.26 |
핵심 파일을 재정의하지 않고 BACS 계정 필드에 사용자 정의 필드 추가 (0) | 2023.09.26 |
빈 셀을 제거하는 간단한 방법 동적 드롭다운 목록 Excel (0) | 2023.09.26 |