sql >> Base de Datos >  >> RDS >> Oracle

SQL no es una función de grupo de un solo grupo

Bueno, el problema simplemente es que la SUMA (TIEMPO) para un SSN específico en su consulta es un solo valor, por lo que se opone a MAX porque no tiene sentido (el máximo de un solo valor no tiene sentido).

No estoy seguro de qué servidor de base de datos SQL está usando, pero sospecho que desea una consulta más como esta (escrita con un fondo de MSSQL; es posible que necesite traducirla al servidor sql que está usando):

SELECT TOP 1 SSN, SUM(TIME)
FROM downloads
GROUP BY SSN
ORDER BY 2 DESC

Esto le dará el SSN con el tiempo total más alto y el tiempo total correspondiente.

Editar:si tiene varios con el mismo tiempo y los quiere todos, usaría:

SELECT
SSN, SUM(TIME)
FROM downloads
GROUP BY SSN
HAVING SUM(TIME)=(SELECT MAX(SUM(TIME)) FROM downloads GROUP BY SSN))