Когда группировка - это простой способ получить первое или верхнее значение из столбца. В следующем примере я хочу, чтобы последнее значение в [Текст] было отсортировано по [Дате] по убыванию.SQL: как найти значение столбца Top String в групповом запросе
SELECT
[Id],
MAX([Date]),
TOP 1 [Text], <-- How do I do do this
COUNT(*)
FROM
[ExampleTable]
GROUP BY [Id]
ORDER BY [Date] DESC
Заранее благодарен.
najmeddine, не каждый может понять, что ваш последний запрос (с MAX дважды) дает результаты, которые по отдельности не появляются в исходная таблица. Значение MAX (Text) может быть «текстом» идентификатора с другой даты, чем последняя дата. Все, что вы получаете, используя два агрегата MAX - это одна строка для значения Id. Однако вы не получите одну строку исходной таблицы, и редко бывает, что запрос с двумя MAX - это то, что действительно хочет кто-то. –
@Steve, кажется, что вы читали только последнюю часть моего ответа. Я детализировано 3 случая: 1- Он хочет, чтобы текст соответствовал этому идентификатору и этому MaxDate 2- Он хочет (1), но получил более 1 строки за (Id, MaxDate): если это не нормально, и он хочет всегда один , он может использовать Min или Max 3- Он хочет только случайный текст (я сказал «значение для текста»), он может использовать Min или Max. – manji