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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Ajouer une Colonne ID juste avec le SELECT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajouer une Colonne ID juste avec le SELECT

n°1474469
hassbak
Posté le 13-11-2006 à 12:13:45  profilanswer
 

Bonjour la compagnie :hello:
 
J'aimerais a travers une requête de SELECTION ajouter un élement ID virtuel.
 
En gros genre :
 
Select @i, Nom
FROM TABLE
@i = @i + 1
 
Sa me permettrais en fait de classer mes resultats par ordre, ce qui permet par exemple de créer un classement de concours .
 
Merci d'avance :jap:


---------------
Je vous préviens, je suis une merde en orthographe, vous me parlé à vos risques et périls !
mood
Publicité
Posté le 13-11-2006 à 12:13:45  profilanswer
 

n°1474474
flo850
moi je
Posté le 13-11-2006 à 12:17:00  profilanswer
 

pourquoi tu ne cree pas une 'vraie' colonne id en autoincrement ?

n°1474475
hassbak
Posté le 13-11-2006 à 12:18:25  profilanswer
 

Car je n'ai pas les droit sur la table qu'on me fournit a part la lecture ;)
 
Et meme si c'etais le cas, ca ne sert a rien vu que je veut l'id dans un ordre particulier, dans l'ordre de mon select
 
Donc en gros si je change le ORDER BY bah les ID doivent toujours commencé a 1


Message édité par hassbak le 13-11-2006 à 12:19:05

---------------
Je vous préviens, je suis une merde en orthographe, vous me parlé à vos risques et périls !
n°1474684
hassbak
Posté le 13-11-2006 à 15:47:37  profilanswer
 

Sa parait tellement évident, mais pas si facile a réaliser :(


---------------
Je vous préviens, je suis une merde en orthographe, vous me parlé à vos risques et périls !
n°1474695
MagicBuzz
Posté le 13-11-2006 à 16:07:40  profilanswer
 

quel sgbd ?

n°1474726
hassbak
Posté le 13-11-2006 à 16:53:51  profilanswer
 

Sql Server :)


---------------
Je vous préviens, je suis une merde en orthographe, vous me parlé à vos risques et périls !
n°1474776
MagicBuzz
Posté le 13-11-2006 à 17:25:32  profilanswer
 

raté :D
 
avec oracle t'as rownum, mais y'a pas d'équivalent dans sql server.
 
cependant, avec une fonction analytique, doit y avoir moyen... regarde du côté de "sumby" ou chais plus quoi (qui permet de faire des somme progressives lignes par ligne... si tu sommes sur une constante 1, alors tu devrais pouvoir te faire un compteur)


Message édité par MagicBuzz le 13-11-2006 à 17:35:02
n°1474780
MagicBuzz
Posté le 13-11-2006 à 17:33:01  profilanswer
 

Arf, encore mieux.
 
SQL Server 2005 a une fonction "row_number()" :
 

Code :
  1. select top 3 row_number() over (order by dte.dte desc), dte.dte
  2. from dte
  3. order by dte.dte desc


 
(par contre je trouve pas les fonctions analytiques :D)

n°1474781
MagicBuzz
Posté le 13-11-2006 à 17:34:45  profilanswer
 

à noter que pour ton cas, "RANK()" peut être substitué à "ROW_NUMBER()" sans problème.
 
à tester. à priori, le RANK() permettra de gérer les ex-equo

n°1474786
hassbak
Posté le 13-11-2006 à 17:46:55  profilanswer
 

J'ai trouvé une autre méthode grace a ton intervention MAGICbUZZ
 
 SELECT   identity(int, 1,1) as id, Nom, Montant,Site, Junior
 into    #temp  
 FROM DEFI_CONTRAT
 order by Montant desc
 
 select * from
 #temp


---------------
Je vous préviens, je suis une merde en orthographe, vous me parlé à vos risques et périls !
mood
Publicité
Posté le 13-11-2006 à 17:46:55  profilanswer
 

n°1474815
MagicBuzz
Posté le 13-11-2006 à 19:06:30  profilanswer
 

euh... si t'as la version 2005, utilise plutôt une des fonctions que je t'ai indiqué, parceque c'est pas top de passer par une table temporaire


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

  Ajouer une Colonne ID juste avec le SELECT

 

Sujets relatifs
Récupèration contenu d'un select (HTML, PHP)Résolu - Effacer des champs dans des tables à partir d'un select
probléme de select sous FFAfficher des entiers en colonne
Colonne fixe dans un tableau et retour chariot.Trier un Array en fonction d'une colonne
faire un select distinct radom[excel] Parcours d'une colonne et copie d'une partie du contenu
Css et colonneselect -> option : disabled ?
Plus de sujets relatifs à : Ajouer une Colonne ID juste avec le SELECT


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