SQL pas un seul groupe groupe fonction
Quand je exécutez l'instruction SQL suivante:
SELECT MAX(SUM(TIME))
FROM downloads
GROUP BY SSN
Il renvoie la somme de la valeur de téléchargements par un client, mais si j'essaie de trouver le numéro de sécurité sociale que la valeur max appartient à ajouter à l'instruction select:
SELECT SSN, MAX(SUM(TIME))
FROM downloads
GROUP BY SSN
J'obtiens l'erreur suivante:
pas un seul groupe groupe fonction
Je ne comprends pas pourquoi il est en train de lancer cette erreur. Une recherche google est venu avec l'action suivante:
Drop soit la fonction de groupe ou de l'individu expression de la colonne à partir de la liste de sélection ou d'ajouter une clause GROUP BY qui inclut toutes les colonnes des expressions énumérés
De ce que je pense c'est dire
- abandon de la fonction de groupe fait la somme de la valeur non valide
- dropant la colonne individuelle de l'expression (SSN) va juste me donner le max de somme
- pas sûr que la troisième partie.
Quelqu'un pourrait-il guider dans la bonne direction?
-Tomek
EDIT: le TEMPS dans cette base de données indique le nombre de fois téléchargé
Vous devez vous connecter pour publier un commentaire.
Bien le problème simplement mis, c'est que la SOMME(TEMPS) pour un SSN sur votre requête est une valeur unique, c'est donc s'opposer à MAX qu'il n'a pas de sens (Le maximum en une seule valeur est vide de sens).
Pas sûr de ce que la base de données SQL server que vous utilisez, mais je soupçonne que vous voulez une requête comme ceci (Écrit avec un MSSQL fond - peut avoir besoin de la traduction à l'instance de sql server que vous utilisez):
Cela vous donnera le SSN avec le total le plus élevé du temps et le temps total pour elle.
Modifier - Si vous avez plusieurs avec une égalité de temps et que vous voulez tous que vous utilisez:
Si vous voulez le nombre de téléchargements pour chaque client, de l'utilisation:
Si vous voulez seulement un record, pour un client avec le plus grand nombre de téléchargements -- utilisation:
Cependant, si vous voulez voir tous les clients avec le même nombre de téléchargements, qui part de la position la plus haute, utilisation:
Peut-être que vous trouverez ce plus simple
Ce qui concerne
K