Voici ma requête SQL et mon résultat. Mon exigence est d'afficher le nom de ministère avec un nombre maximum de personnel, mais je ne sais pas comment faire cela. Je veux un résultat comme ministère_name - SE et Staff_ Comptez - 4 seulement.
DEPARTMENT_NAME COUNT(SF.STAFF_ID)
------------------------------ ------------------
SE 4
EEE 2
IT 2
CSE 2
ECE 1
3 Réponses :
Essayez cette requête
alias p> Rejoignez la requête p> ou supérieur p> select TOP 1 d.department_name, count(staff_id)
from department d
INNER JOIN staff sf ON d.department_id = sf.staff_id
group by department_name
order by count(staff_id) desc
Il n'exclencra que l'exemple de test de test. Cela n'expliquera pas tous les cas de test. S'il vous plaît avoir une autre façon
@Prabhu: Si vous voulez un autre test, vous posez le nom de test dans la clause Where
@Prabhu: Exemple - Où D.Department_Name = 'Eee'
@Prabhu: Utilisation de la fonction supérieure
La limite et le haut ne fonctionnent pas dans le compilateur selon les exigences de l'entreprise
Vous devez utiliser la limite 1 pour réduire le résultat, mais également utiliser la syntaxe de jointure explicite pour une meilleure lisibilité: ou sans utiliser la limite, vous pouvez essayer d'avoir sur le MAX: P>
Le dessus et la limite ne fonctionnent pas dans le compilateur selon les exigences de l'entreprise
pouvez-vous essayer cela d'une autre manière
Vous devez d'abord obtenir le compte de chaque département, puis sélectionnez Département avec le nombre maximal. Par conséquent, vous pouvez utiliser la sous-requête comme suit:
SELECT d_name, MAX (staff_cnt)
FROM (SELECT d.department_name as d_name, count(staff_id) as staff_cnt
FROM department d, staff sf
WHERE d.department_id = sf.staff_id
GROUP BY department_name);
L'erreur s'est produite comme non une seule fonction de groupe
Utilisez-vous MySQL ou SQL Server?
Ce n'est pas clair ce que vous demandez ... Veuillez fournir des exemples de données initiales et des résultats attendus.
Vous pouvez simplement ajouter 'limite 1' à la fin de la déclaration
Rejoignez-vous pour obtenir des entrées pour des entrées de personnel manquantes?
La limite et le haut ne fonctionnent pas dans le compilateur. S'il vous plaît obtenir une autre façon d'effacer les exigences de l'entreprise
"Ne pas fonctionner" n'est pas une phrase utile à utiliser pour décrire vos résultats. Si une erreur se produit, postez le message d'erreur complet. Si les résultats ne sont pas ce que vous attendez, postez ce que vous avez renvoyé, ce que vous attendez et des raisons pour lesquelles vous vous attendez à quelque chose de différent. Et il est temps d'évoluer - personne ne devrait utiliser des jointures de style ancien via la clause WHERE.