0
votes

Salaire le plus élevé par département (aussi même salaire)

Comment puis-je sélectionner le salaire le plus élevé de chaque département avec un même salaire.

Ma requête n'est que pour obtenir la première rangée de chaque département avec le même salaire. Mais je veux sélectionner tout le même salaire maximum sur chaque département. S'il vous plaît aidez-moi à sortir de ce problème. P>

ci-dessous est la table d'échantillonnage: p> xxx pré>

Voici le code que j'essaie: p>

SELECT MAX(inter_department_votes.number_votes)
FROM employee_salary
GROUP BY dept_id


3 commentaires

Dupliqué possible de Fonction max utilisée avec le groupe par clause


Quel SGBD utilisez-vous? (La réponse peut dépendre de la DBMS utilisé.)


@jarlh SQL Server, merci beaucoup!


3 Réponses :


1
votes

Essayez également de sélectionner DEPT_ID:

SELECT dept_id, 
       MAX(inter_department_votes.number_votes) 
FROM employee_salary GROUP BY dept_id


0 commentaires

0
votes

Utilisation de Rank () Code> Fonction:

Rank fournit la même valeur numérique pour les cravates (par exemple 1, 1, 2, 4, 5). P>

SELECT *
FROM (
      SELECT dept_id, 
             PersonName, 
             Salary,
             RANK() OVER(PARTITION dept_id ORDER BY Salary DESC) AS SortBySalary 
      FROM employee_salary
     )
WHERE SortBySalary = 1


1 commentaires

Prashant Pimpale: Les modifications devraient être importantes.



0
votes

Votre table n'est pas claire pour moi. Je ne comprends pas pourquoi vous créez des tables séparées pour tous les départements.

En supposant que vous fabriquiez deux tables différentes, une pour les employés et une pour le département. Cela rendra des requêtes plus simples pour une base de données future et efficace. Dans ce cas: xxx


0 commentaires