Oracle SQL Group by avec ROWNUM dans la clause Having?

Je suis en train d'essayer d'obtenir à l'utilisateur dans la base de données qui a la propriété sur le plus grand segment de la base de données. Pour cela, je vais essayer:

SELECT owner, MAX(bytes) 
FROM SYS.DBA_SEGMENTS
GROUP BY owner
HAVING ROWNUM <= 1;

Ceci, cependant, les retours "not a GROUP BY expression". Pourquoi ne puis-je pas sélectionner la première ligne seulement? Comment puis-je écrire cette requête? Merci!!!!

ROWNUM est affecté à des lignes individuelles à partir de la ligne de source (la table de base DBA_SEGMENTS dans ce cas). HAVING se réfère à des propriétés de groupes créés par GROUP BY, pas à des lignes individuelles. Vous ne pouvez pas utiliser ROWNUM dans HAVING, pas plus que vous pouvez utiliser BYTES, ou toute autre expression qui peut avoir des valeurs différentes pour les lignes à l'intérieur d'un même groupe. Exactement ce que le message d'erreur dit.

OriginalL'auteur lte__ | 2016-11-05