반응형
SQL 마지막 날짜 시간 레코드 가져오기
여러 상태를 저장하는 테이블에서 마지막 날짜/시간 레코드를 가져오려고 합니다.내 테이블은 다음과 같습니다.
+---------+------------------------+-------+
|filename |Dates |Status |
+---------+------------------------+-------+
|abc.txt |2012-02-14 12:04:45.397 |Open |
|abc.txt |2012-02-14 12:14:20.997 |Closed |
|abc.txt |2013-02-14 12:20:59.407 |Open |
|dfg.txt |2012-02-14 12:14:20.997 |Closed |
|dfg.txt |2013-02-14 12:20:59.407 |Open |
+---------+------------------------+-------+
결과는 다음과 같습니다.
+---------+------------------------+-------+
|filename |Dates |Status |
+---------+------------------------+-------+
|abc.txt |2013-02-14 12:20:59.407 |Open |
|dfg.txt |2013-02-14 12:20:59.407 |Open |
+---------+------------------------+-------+
각 파일 이름에 대해 하나의 행을 지정하고 특정 상태를 반영하며 가장 최근 날짜를 나열하려면 다음과 같이 하십시오.
select filename ,
status ,
max_date = max( dates )
from some_table t
group by filename , status
having status = '<your-desired-status-here>'
진정!
SELECT * FROM table
WHERE Dates IN (SELECT max(Dates) FROM table);
SELECT TOP 1 * FROM foo ORDER BY Dates DESC
최신 날짜가 포함된 결과 하나를 반환합니다.
SELECT * FROM foo WHERE foo.Dates = (SELECT MAX(Dates) FROM foo)
최대 날짜가 같은 모든 결과를 밀리초 단위로 반환합니다.
SQL Server용입니다.날짜를 사용하고 싶지만 시간을 사용하지 않으려면 DATEPART 기능을 사용하는 것은 당신에게 맡기겠습니다.
이 작품
SELECT distinct filename
,last_value(dates)over (PARTITION BY filename ORDER BY filename)posd
,last_value(status)over (PARTITION BY filename ORDER BY filename )poss
FROM distemp.dbo.Shmy_table
각 파일 이름에 대해 최대(날짜)가 다를 수 있다는 점을 고려하면, 제 솔루션은 다음과 같습니다.
select filename, dates, status
from yt a
where a.dates = (
select max(dates)
from yt b
where a.filename = b.filename
)
;
http://sqlfiddle.com/ #!18/fdf8d/1/0
HTH
정확한 구문은 물론 데이터베이스에 따라 다르겠지만 다음과 같은 것이 있습니다.
SELECT * FROM my_table WHERE (filename, Dates) IN (SELECT filename, Max(Dates) FROM my_table GROUP BY filename)
이렇게 하면 위에서 요청하고 표시하는 것과 정확히 일치하는 결과를 얻을 수 있습니다.피들: http://www.sqlfiddle.com/ #!2/3af8a/1/0
select max(dates)
from yourTable
group by dates
having count(status) > 1
사용해 보십시오.
SELECT filename,Dates,Status
FROM TableName
WHERE Dates In (SELECT MAX(Dates) FROM TableName GROUP BY filename)
언급URL : https://stackoverflow.com/questions/16550703/sql-get-the-last-date-time-record
반응형
'programing' 카테고리의 다른 글
24시간 후에 만료되는 고유 토큰을 생성하는 방법은 무엇입니까? (0) | 2023.08.24 |
---|---|
도커 작성 - 여러 컨테이너 간에 명명된 볼륨 공유 (0) | 2023.08.24 |
pycharm 탭을 공백으로 자동 변환 (0) | 2023.08.24 |
npm을 사용하지 않고 node.js 모듈을 설치하는 방법은 무엇입니까? (0) | 2023.08.24 |
()의 C# 이름을 ASP와 함께 사용하는 방법.NET MVC URL.액션. (0) | 2023.08.24 |