Я знаю, что это общая проблема с SQL, и я уже нашел много объяснений, как это сделать, но я просто не могу понять, как это сделать, когда в таблице я хочу получить максимальную запись (для dauer
) из таблицы, которая уже создана запросом.
Я использую базу данных SQL Server. Я очень надеюсь, что вы, ребята, можете дать мне подсказку об этом.
SELECT
foo.vname, foo.nname, foo.sw_name,
SUM(foo.dauer) AS dauer
FROM
(SELECT
benutzer.vname, benutzer.nname, verwendung.sw_name, verwendung.dauer
FROM
benutzer
INNER JOIN
verwendung ON benutzer.login = verwendung.login
AND benutzer.pw = verwendung.pw
GROUP BY
benutzer.login, benutzer.pw, verwendung.sw_name, verwendung.dauer
ORDER BY
benutzer.vname ASC, benutzer.nname ASC, verwendung.sw_name ASC) AS foo
GROUP BY
foo.vname, foo.nname, foo.sw_name
РЕДАКТИРОВАТЬ: Уточнение того, что я хочу знать
Я хочу получить те записи таблицы, которые имеютмаксимальное значение в столбце dauer
.
Например:
Для Ады должно быть Ада - Лавлейс - Пресмейкер - 910
![Table from my query](https://i.stack.imgur.com/uSkVc.png)