IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

réordonancement des données


Sujet :

Langage SQL

  1. #1
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut réordonancement des données
    Bonjour,

    j'ai une table qui ressemble à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ID    NAME    DATA
    1    B        1
    2    A        1
    3    C        2
    4    A        4
    5    A        5
    6    C        3
    7    B        2
    8    A        2
    Je voudrai la réordonner. Pour se faire, je dois classer la colonne NAME par ordre alphabétique, et créer une colonne N qui est une sorte de row_number() over (order by DATA), limité par le NAME (à chaque NAME différent, le row_number repart à 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ID    NAME    DATA    N
    2    A        1        1
    8    A        2        2
    4    A        4        3
    5    A        5        4
    1    B        1        1
    7    B        7        2
    3    C        2        1
    6    C        3        2
    J'ai essayé avec un partition by Name dans la clause row_number() over, mais ça ne semble pas être c qu'il faut

    J'ajoute que j'utilise SQL2K5. Merci d'avance pour l'aide !

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Vous faites pourtant ce qu'il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    WITH MATABLE (ID, NAME, DATA) AS
    (
    SELECT 1, 'B', 1 UNION ALL
    SELECT 2, 'A', 1 UNION ALL
    SELECT 3, 'C', 2 UNION ALL
    SELECT 4, 'A', 4 UNION ALL
    SELECT 5, 'A', 5 UNION ALL
    SELECT 6, 'C', 3 UNION ALL
    SELECT 7, 'B', 2 UNION ALL
    SELECT 8, 'A', 2
    )
    SELECT ID, NAME, DATA,
           ROW_NUMBER() OVER(PARTITION BY NAME ORDER BY DATA ASC) AS RN
      FROM MATABLE;
     
    ID          NAME DATA        RN
    ----------- ---- ----------- ----
    2           A    1           1
    8           A    2           2
    4           A    4           3
    5           A    5           4
    1           B    1           1
    7           B    2           2
    3           C    2           1
    6           C    3           2
    Pouvez-vous nous montrer votre requête ?

  3. #3
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    J'ai réécrit la requête (j'avais enlevé le row-number(over... pour d'autres tests) et j'ai réessayé, et ça a fonctionné. J'avais du mal m'y prendre en oubliant une colonne ou en en mettant une en trop dans ma requête initiale.

    C'était ma 1ère tentative avec un partition by ;o)

    Merci pour l'aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR7]Actualisation des données depuis VB
    Par elifqaoui dans le forum SDK
    Réponses: 4
    Dernier message: 24/11/2003, 13h44
  2. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44
  3. Réponses: 13
    Dernier message: 20/03/2003, 08h11
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  5. Réponses: 2
    Dernier message: 18/12/2002, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo