Sql получает другие поля из записи, возвращающей максимальное значение
SQL-это не мой родной язык!
Я хочу найти строку с помощью функции MAX, но возвращаю другие столбцы из этой строки.
Не уверен, что это вообще возможно?
Допустим, у нас есть простая таблица:
Счет, Счет-Фактура, Дата-Время, Стоимость
Я хочу получить последнюю дату и время для каждой учетной записи и значение, связанное с этой строкой. Давайте притворимся, что индексов нет, и счет-фактура не гарантированно будет находиться в каком-то определенном порядке.
Так что я могу сказать:
SELECT Account, MAX(DateTime) AS Maxdate FROM Table GROUP BY Account
Пока все хорошо, но я также хочу вернуть столбец value из строки, которая вернула последнюю дату и время, но как я могу это сделать?
Я знаю, что могу внутренне присоединиться к тому же столу, но стол огромен, и это очень медленно.
Это не совсем те данные, которые я использую, но иллюстрация того, что я хочу вернуть с помощью запроса.
Это не моя база данных, поэтому я не имею права добавлять какие-либо индексы...!
Большое спасибо в предвкушении.
Что я уже пробовал:
Я пытался выбрать записи с функцией MAX в подзапросе, но это очень медленно.
Я также попытался внутренне соединить стол с самим собой, но опять же это очень медленно.