Я не знаю, как понять это, но вот пример таблицы:Как анализировать временные метки и состояния? (Novice)
╔════════════╦════════╦═══════════╗
║ Company_ID ║ Status ║ Timestamp ║
╠════════════╬════════╬═══════════╣
║ 1234 ║ Test ║ 4/1/15 ║
║ 1234 ║ Live ║ 3/30/15 ║
║ 3456 ║ Live ║ 1/30/15 ║
║ 4567 ║ Test ║ 2/12/15 ║
║ 3456 ║ Test ║ 4/15/15 ║
╚════════════╩════════╩═══════════╝
Я хочу, чтобы вытащить только самую последнюю метку времени, так что я просто хочу:
╔════════════╦════════╦═══════════╗
║ Company_ID ║ Status ║ Timestamp ║
╠════════════╬════════╬═══════════╣
║ 1234 ║ Test ║ 4/1/15 ║
║ 4567 ║ Test ║ 2/12/15 ║
║ 3456 ║ Test ║ 4/15/15 ║
╚════════════╩════════╩═══════════╝
До сих пор я хочу попробовать это, но я боюсь, что он просто потянет самую большую метку времени, но не со связанным статусом. Это правильно?
select
company_id,
status,
max(timestamp)
from
sample
group by 1, 2
EDIT: Это на Redshift (PostgreSQL).
Какой базой данными является это? Неправильно ваш запрос не будет работать, потому что вы получите одинаковые результаты, так как статусы разные. Также ваш вопрос очень похож на этот: http://stackoverflow.com/questions/612231/how-can-i-select-rows-with-maxcolumn-value-distinct-by-another-column-in-sql – SLin
Извини за это. Redshift на PostgreSQL. Некоторые функции окна/раздела не работают в Redshift по какой-то причине, но ответы ниже были полезны! – JustCasual
@JustCasual, если ответы ниже были вам полезны, вы можете проголосовать за них :-) – PhillipD