sql >> Databasteknik >  >> RDS >> Oracle

SQL är inte en gruppfunktion i en grupp

Tja, problemet enkelt uttryckt är att SUMMA(TIME) för ett specifikt SSN på din fråga är ett enda värde, så det invänder mot MAX eftersom det inte är meningsfullt (Maximalt för ett enskilt värde är meningslöst).

Jag är inte säker på vilken SQL-databasserver du använder men jag misstänker att du vill ha en fråga mer så här (skriven med en MSSQL-bakgrund - kan behöva översättas till SQL-servern du använder):

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

Detta ger dig SSN med den högsta totala tiden och den totala tiden för det.

Redigera - Om du har flera med samma tid och vill ha dem alla skulle du använda:

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


  1. 6 sätt att ta bort dubbletter av rader som har en primärnyckel i SQLite

  2. Hur man kommenterar MYSQL autoinkrementfält med JPA-kommentarer

  3. DELETE VS DROP i SQL

  4. Få aktuellt inloggnings-ID i SQL Server (T-SQL)