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

MS SQL Server Discussion :

utilisation ORDER BY.


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 30
    Points
    30
    Par défaut utilisation ORDER BY.
    Bonjour !

    alors voila j'utilise Order by pour ranger mes resultat, avec un select.
    Mais j'ai vu qu'il etait possible de cree une table avec order by sur le site de microsoft.

    Donc je presume que l'on peux modifier la table pour qu'elel soit afficher dans l'ordre :

    Donc j'ai utiliser :

    Alter table employees
    Order BY emp_id asc

    Mais il bloque sur Order...

    une solution ?

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut tri d'une table.
    Je pense que pour trier une table il est neccessaire de creer un index clustered dans lequel l'ordre des colonnes est indique par la cle.

    CREATE CLUSTERED INDEX ON Table (col1 ASC,col2 DESC,col3)

  3. #3
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Citation Envoyé par wfirefox
    Mais j'ai vu qu'il etait possible de cree une table avec order by sur le site de microsoft.
    Où as-tu vu ça ?

    Tu peux créer un index clustered en effet, mais c'est une très mauvaise façon de résoudre ton problème. D'ailleurs, quel est ton problème ? Qu'essaie-tu d'obtenir ? Pourquoi ?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut desole.
    rudy,

    je pensais qu'il voulait trier les enregistrement de sa table dans un ordre précis, c'est pour cela que j'ai proposé un index cluster.

    yann.

  5. #5
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Salut,

    pas de quoi être désolé, ta proposition est correct. Le seul problème avec ça est qu'on fait un index clustered pour des raisons de performances, pas pour simuler un ORDER BY. C'est pour ça que la vraie demande derrière la demande m'intéresse.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    ya un bug apparament sur le Forum !
    quand les phrases sont trop longue
    impossible de poster un message
    j'ai du faire plusieurs puis les
    supprimer pour voir que ce bug
    existé !
    a chaque fois que je voulais envoyer
    Mon message j'avais impossible d'afficher la page
    quelques soit le navigateur utilisé

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    En fait je test juste des fonctions !

    et j'ai une table avec IDENTITY, j'ai supprimer
    des lignes donc maintenant j'ai 3,2,4,5,6

    et quand je fait un
    Select * from employees
    Order BY emp_id asc

    j'ai bien ranger dans l'ordre : 2,3,4,5,6
    (+ mes autre colonne a coté)

    et je voudrai modifier ma table pour
    que lorsque je fait un
    select * from employees
    j'ai directement 2,3,4,5,6

    voila voila c'est plus clair ?

  8. #8
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    il te suffit donc de créer l'index ...

    mais attention car si tu as un identity et qu'en faisant un select il te trie pas sur l'identity c'est que tu as un autre index qui traine par là

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    donc tu parle
    de

    index clustered ?

  10. #10
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    oui

    mais regardes si tu n'a pas un autre index dessus avant.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 30
    Points
    30
    Par défaut Merci
    Merci pour votre aide.
    j'ai pas trouver la fonction index clustured.
    j'ai mis une clef primaire sur mon ID et ensuite
    tous etait ranger comme je le souhaitais au depart

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut cle primaire.
    en principe, lors de la mise en place d'une cle primaire, il y a mise en place automatique d'un clustered index. ceci explique cela...

  13. #13
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Sans vouloir jouer les rabas-joie, compter sur un index pour toujours recevoir les données dans l'ordre est une erreur conceptuelle. Si tu fais une jointure par exemple, ou un UNION, tu n'as pas de garantie de recevoir tes lignes dans l'ordre de l'index clustered. Faire un ORDER BY est le seul moyen correct, et ce n'est pas bien pénible.

    Au pire, tu peux te faire une vue, qui fasse un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 100 PERCENT * FROM matable ORDER BY ...

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

Discussions similaires

  1. [REPORT] Utiliser ORDER sans perdre d'observations
    Par alers dans le forum ODS et reporting
    Réponses: 6
    Dernier message: 15/01/2015, 10h24
  2. Mon recordset n'est pas trié alors que j'utilise ORDER BY
    Par beegees dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 10/06/2009, 12h01
  3. Réponses: 2
    Dernier message: 13/07/2007, 12h20
  4. Utilisation de "order by"
    Par milulu dans le forum SQL
    Réponses: 3
    Dernier message: 25/06/2007, 16h13
  5. Réponses: 10
    Dernier message: 30/11/2004, 10h12

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