Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2051 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU] Petite aide rapide sur SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Petite aide rapide sur SQL

n°2054101
rogntudjuu​u
Posté le 03-02-2011 à 16:50:27  profilanswer
 

Bonjour,
 
J'ai besoin d'une petite requête SQL qui, pour ceux qui maîtrisent, doit paraître triviale, mais qui pour ma part me dépasse, compte-tenu du fait que je ne sais faire que du très (très) simple sous SQL
 
Voilà le pb
 
Une table TABLE contenant les trois colonnes ID, RANG et LIBELLE, le couple ID et RANG étant un identifiant unique
 
ID RANG LIBELLE
123 1 lib_1231
123 2 lib_1232
456 5 lib_4565
456 8 lib_4568
789 4 lib_7894
 
Je voudrais que le select me donne la liste des ID et LIBELLE, avec dans le cas où ID existe en plusieurs exemplaires, uniquement l'occurrence avec le plus petit RANG
 
Càd
 
123 lib_1231
456 lib_4568
789 lib_7894
 
Merci d'avance


Message édité par rogntudjuuu le 04-02-2011 à 10:38:13
mood
Publicité
Posté le 03-02-2011 à 16:50:27  profilanswer
 

n°2054105
Arwon
Posté le 03-02-2011 à 16:59:36  profilanswer
 

Hello,
 
vite fait :
 
SELECT a.ID, a.LIBELLE
FROM TABLE a
INNER JOIN
(SELECT a.ID, MIN(A.RANG) AS MINIMUM_RANG
FROM TABLE a
INNER JOIN
 (SELECT ID
FROM TABLE
GROUP BY ID
HAVING COUNT(*) > 1) as b
ON a.ID = b.ID
GROUP BY a.ID) AS b
ON a.ID = b.ID
AND a.RANG = B.MINIMUM_RANG
 
N'hésite pas a demander si tu ne comprend pas quelque chose dans la requête
 
A plus

n°2054113
E-Nyar
I ain't no nice guy after all
Posté le 03-02-2011 à 17:47:07  profilanswer
 

Sous Oracle, avec les fonctions analytiques, de tête, ça donnerait quelque chose comme ça :
 
Select distinct ID, FIRST_VALUE(LIBELLE) OVER (PARTITION BY ID ORDER BY RANG ASC)
From TABLE
 
C'est assez lisible :
on prends la première valeur (first_value) de la liste des LIBELLE pour chaque ID (partition by ID), valeurs ordonnées par RANG du plus petit au plus grand (order by rang asc)
 
Si m'est souvenirs sont bons c'est aussi valable pour SQL Serveur au niveau syntaxe.


---------------
Don't fuck me, I'm anonymous.
n°2054263
rogntudjuu​u
Posté le 04-02-2011 à 10:36:49  profilanswer
 

Merci beaucoup.
Je vais essayer de comprendre et d'appliquer à mon cas précis


Message édité par rogntudjuuu le 04-02-2011 à 10:37:52

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU] Petite aide rapide sur SQL

 

Sujets relatifs
Besoin d'aide concernant résultat suivi de colisaide moi
Aide sur l'écriture de scriptaide pour mon blog canalblog
aide php afficher un chiffre[SQL] Logique de Conception
requete SQL qui ne donne pas le bon resultatBesoin d'aide pour un exercice
Aide calculette choix opération importantAide pour choix de language de programmation
Plus de sujets relatifs à : [RESOLU] Petite aide rapide sur SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR