Как сделать SQL-запрос для последней транзакции каждой учетной записи?

Скажем, у меня есть таблица «транзакции», в которой есть столбцы «acct_id», «trans_date» и «trans_type», и я хочу отфильтровать эту таблицу, чтобы у меня была только последняя транзакция для каждой учетной записи. Ясно, что я мог сделать что-то вроде

SELECT acct_id, max(trans_date) as trans_date  
FROM transactions GROUP BY acct_id;

но потом я теряю свой trans_type. Затем я мог бы сделать второй вызов SQL со своим списком дат и идентификаторами учетных записей и получить свой trans_type обратно, но это выглядит очень неудобно, так как это означает либо отправку данных назад и вперед на сервер sql, либо это означает создание временной таблицы.

Есть ли способ сделать это с помощью одного запроса, надеюсь, универсальный метод, который будет работать с MySQL, Postgres, SQL Server и Oracle.

Ответы на вопрос(4)

Ваш ответ на вопрос