«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как извлечь последнюю строку данных для каждого идентификатора в PostgreSQL?

Как извлечь последнюю строку данных для каждого идентификатора в PostgreSQL?

Опубликовано в 2025-04-12
Просматривать:298

How to Extract the Last Row for Each ID in PostgreSQL?

Извлечение последней строки для каждого идентификатора в Postgresql

рассмотрим набор данных с столбцами с именем идентификатором, датой и другим_инфо. Цель состоит в том, чтобы извлечь последнюю информацию (строку) для каждого уникального идентификатора.

, чтобы выполнить это в PostgresQl, два метода обычно используются:

отличаются от оператора

postgresql обеспечивают различные на операторе, что позволяет вам указать, что в конкретных значениях. В этом случае оператор может использоваться следующим образом:

select distinct on (id) id, date, another_info
from the_table
order by id, date desc;

этот запрос гарантирует, что только последний экземпляр каждого уникального идентификатора возвращается, упорядочен в порядке убывания по дате. Функция окна позволяет вам выполнять расчеты или агрегации на разделенном наборе строк. В этом случае можно использовать следующий запрос:

выберите ID, дата, другой_инфо от ( Выберите идентификатор, дата, другой_инфо, row_number () Over (раздел по идентификационному порядку по дате desc) как rn от the_table ) т где rn = 1 Заказ от id; Этот запрос использует функцию Row_number () для назначения последовательного номера каждой строке в каждом разделе идентификатора. Предложение WHERE фильтрует результаты, чтобы включить только строки с наибольшим значением RN (то есть последняя строка для каждого идентификатора).

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3