0
votes

Je veux savoir si je peux utiliser un mot clé SQL à l'intérieur d'un autre mot-clé, comme le décompte (distinct ())

SELECT AVG(salary) FROM emp where COUNT(DISTINCT(dept)) > 3 ;
Using this query, i want to calculate the average salary of Departments where employee number is more than 3.

4 commentaires

Quelle base de données utilisez-vous?


Gestion SQL Server


Notez que distinct est pas une fonction. Mettre la colonne en suivant que le mot clé entre les parenthèses ne changera rien.


Veuillez fournir des données d'échantillonnage et des résultats souhaités.


3 Réponses :


0
votes

Vous pouvez utiliser:

select avg(tolumn1)
from (select count(salary) as tolumn1
      from emp) A


7 commentaires

distinct n'est pas une fonction


Où dois-je dire que c'est?


Regardez votre syntaxe, vous découvrirez facilement où vous avez dit que c'est !!


On dirait que je l'ai fait .. Je viens de copier coller le code et changé un mot clé ... merci!


@fahmi j'ai utilisé la fonction terme en général, je connais son mot clé


Salut @blaezi fait ma réponse vous aide? Sinon, je ne peux pas le supprimer afin que d'autres puisse peut-être l'ouvrir plus tôt et le répondre ...


@Vboka oui mec, ça m'a aidé ... merci d'avoir répondu.



0
votes

Je veux calculer le salaire moyen des départements où le numéro d'employé est supérieur à 3.

Comme je interprète la question, vous voulez: xxx

Si vous souhaitez la moyenne dans tous les départements, il n'est pas clair si vous souhaitez la moyenne des moyennes de département . Ou la moyenne des employés de ces départements. De toute façon, vous avez besoin d'une sous-requête: xxx


0 commentaires

0
votes

SELECT AVG (E.Salary), D.Department_Name des départements en tant qu'employé de jointure intérieure en tant que e sur d.dept_id = e.dept_id Group par Ministère Nom comptez (EMP_ID)> 3

Le résultat requis pour le problème ne peut être obtenu sans une jointure sur la table du département et la table des employés. Par conséquent, en utilisant des alias pour les deux tables avec un groupe par clause suivi d'une clause.


0 commentaires