Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

afficher un classement

4 réponses
Avatar
Xavier powaga
bonjour à tous,
voilà je dispo d'une petite base et je voudrais grace à une instruction SQL
afficher le classement d'un enregistrement

Je m'explique, j'ai les champs Nom et Salaires

Dans les données j'ai : Pierre 1000
Jacques 3000
Stéphane 2000

sur ces trois enregistrements Jacques est premier car le mieux payé,
Stéphane est 2eme et Pierre 3eme
comment faire en SQL pour que cela me donne automatiquement le classement de
stéphane (2eme)

merci d'avance

4 réponses

Avatar
Jean-Pierre Riehl
Bonjour,

SELECT Nom, Salaire, ROW_NUMBER() OVER(ORDER BY Salaire DESC) AS 'Numero'
FROM Employes
Where Numero = 2


--
Jean-Pierre Riehl
http://blog.djeepy1.net
http://www.bewise.fr

"Xavier powaga" wrote in message
news:46d9b5e6$0$8322$
bonjour à tous,
voilà je dispo d'une petite base et je voudrais grace à une instruction
SQL afficher le classement d'un enregistrement

Je m'explique, j'ai les champs Nom et Salaires

Dans les données j'ai : Pierre 1000
Jacques 3000
Stéphane 2000

sur ces trois enregistrements Jacques est premier car le mieux payé,
Stéphane est 2eme et Pierre 3eme
comment faire en SQL pour que cela me donne automatiquement le classement
de stéphane (2eme)

merci d'avance





Avatar
Xavier powaga
super.
merci Jean pierre

Puis me permettre de compliquer la question?
j'ai rajouter dans ma base "employes" un champ qui s'appelle "rang" et je
souhaiterais que le classement soit automatiquement inséré dans ce champ
rang

Ainsi j'aurais rang nom salaire
3 Pierre 1000
1 Jacques 3000
2 Stéphane 2000


merci



"Jean-Pierre Riehl" a écrit dans le
message de news:
Bonjour,

SELECT Nom, Salaire, ROW_NUMBER() OVER(ORDER BY Salaire DESC) AS 'Numero'
FROM Employes
Where Numero = 2


--
Jean-Pierre Riehl
http://blog.djeepy1.net
http://www.bewise.fr

"Xavier powaga" wrote in message
news:46d9b5e6$0$8322$
bonjour à tous,
voilà je dispo d'une petite base et je voudrais grace à une instruction
SQL afficher le classement d'un enregistrement

Je m'explique, j'ai les champs Nom et Salaires

Dans les données j'ai : Pierre 1000
Jacques 3000
Stéphane 2000

sur ces trois enregistrements Jacques est premier car le mieux payé,
Stéphane est 2eme et Pierre 3eme
comment faire en SQL pour que cela me donne automatiquement le classement
de stéphane (2eme)

merci d'avance








Avatar
Jean-Pierre Riehl
Xavier,

Pour mettre à jour ta table d'origine, il faut utiliser une CTE. Dans la
racine, tu places la requête avec le ROW_NUMBER et tu la joins avec ta table
destination dans la requête UPDATE :


With Rangs(Nom, Rang) As
(
SELECT Nom, ROW_NUMBER() OVER(ORDER BY Salaire DESC) AS 'Numero'
FROM dbo.Salaires
)
Update dbo.Salaires
Set Rang = Rangs.Rang
From dbo.Salaires
Inner Join Rangs On Rangs.Nom = Salaires.Nom

--
Jean-Pierre Riehl


"Xavier powaga" wrote in message
news:46da5e1c$0$6863$
super.
merci Jean pierre

Puis me permettre de compliquer la question?
j'ai rajouter dans ma base "employes" un champ qui s'appelle "rang" et je
souhaiterais que le classement soit automatiquement inséré dans ce champ
rang

Ainsi j'aurais rang nom salaire
3 Pierre 1000
1 Jacques 3000
2 Stéphane 2000


merci



"Jean-Pierre Riehl" a écrit dans le
message de news:
Bonjour,

SELECT Nom, Salaire, ROW_NUMBER() OVER(ORDER BY Salaire DESC) AS 'Numero'
FROM Employes
Where Numero = 2


--
Jean-Pierre Riehl
http://blog.djeepy1.net
http://www.bewise.fr

"Xavier powaga" wrote in message
news:46d9b5e6$0$8322$
bonjour à tous,
voilà je dispo d'une petite base et je voudrais grace à une instruction
SQL afficher le classement d'un enregistrement

Je m'explique, j'ai les champs Nom et Salaires

Dans les données j'ai : Pierre 1000
Jacques 3000
Stéphane 2000

sur ces trois enregistrements Jacques est premier car le mieux payé,
Stéphane est 2eme et Pierre 3eme
comment faire en SQL pour que cela me donne automatiquement le
classement de stéphane (2eme)

merci d'avance












Avatar
Xavier powaga
merci jean Pierre

"Jean-Pierre Riehl" a écrit dans le
message de news:
Xavier,

Pour mettre à jour ta table d'origine, il faut utiliser une CTE. Dans la
racine, tu places la requête avec le ROW_NUMBER et tu la joins avec ta
table destination dans la requête UPDATE :


With Rangs(Nom, Rang) As
(
SELECT Nom, ROW_NUMBER() OVER(ORDER BY Salaire DESC) AS 'Numero'
FROM dbo.Salaires
)
Update dbo.Salaires
Set Rang = Rangs.Rang
From dbo.Salaires
Inner Join Rangs On Rangs.Nom = Salaires.Nom

--
Jean-Pierre Riehl


"Xavier powaga" wrote in message
news:46da5e1c$0$6863$
super.
merci Jean pierre

Puis me permettre de compliquer la question?
j'ai rajouter dans ma base "employes" un champ qui s'appelle "rang" et je
souhaiterais que le classement soit automatiquement inséré dans ce champ
rang

Ainsi j'aurais rang nom salaire
3 Pierre 1000
1 Jacques 3000
2 Stéphane 2000


merci



"Jean-Pierre Riehl" a écrit dans le
message de news:
Bonjour,

SELECT Nom, Salaire, ROW_NUMBER() OVER(ORDER BY Salaire DESC) AS
'Numero'
FROM Employes
Where Numero = 2


--
Jean-Pierre Riehl
http://blog.djeepy1.net
http://www.bewise.fr

"Xavier powaga" wrote in message
news:46d9b5e6$0$8322$
bonjour à tous,
voilà je dispo d'une petite base et je voudrais grace à une instruction
SQL afficher le classement d'un enregistrement

Je m'explique, j'ai les champs Nom et Salaires

Dans les données j'ai : Pierre 1000
Jacques 3000
Stéphane 2000

sur ces trois enregistrements Jacques est premier car le mieux payé,
Stéphane est 2eme et Pierre 3eme
comment faire en SQL pour que cela me donne automatiquement le
classement de stéphane (2eme)

merci d'avance