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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Ordre descendant sans id

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ordre descendant sans id

n°1772161
malicious
Posté le 11-08-2008 à 19:59:47  profilanswer
 

Bonjour,  
Lorsque j'utitise SELECT * FROM my_table, le tri de la liste est dans l'ordre dans lesquel les enregistrements ont été faits.  
Comment faire pour afficher cette liste dans l'ordre inverse ?  
Je n'utilise pas d'id auto-incrémente et donc ne peut faire ORDER BY id DESC. Je n'utilise pas d'id car le nombre d'enregistrements est trop fréquents (mais pas la quantité d'enregistrement car il y a des DELETE réguliers), mais dans tous les cas l'id ne cesserait d'augmenter et de dépasser sa valeur maximale...


Message édité par malicious le 11-08-2008 à 20:00:06
mood
Publicité
Posté le 11-08-2008 à 19:59:47  profilanswer
 

n°1772244
mrbebert
Posté le 11-08-2008 à 23:12:28  profilanswer
 

Même si, souvent, les enregistrements apparaissent par défaut dans l'ordre dans lequel ils ont été insérés, on ne peut pas présager de ce résultat. Si tu n'indiques pas un tri explicite, alors le SGBD se réserve la possibilité de fournir les résultats dans l'ordre qu'il veut [:proy]  
 
Donc, si tu veux un tri particulier, il faut l'indiquer, par exemple avec une colonne "date d'insertion" :)

n°1772247
Hik@ru
Posté le 11-08-2008 à 23:27:13  profilanswer
 

Oui, tu n'as pas d'autre choix. Il te faut te débrouiller pour avoir une colonne qui te permette de faire ton tri. Un ID, tu n'en veux pas... Dans ce cas, une date d'ajout parait le mieux pour ton objectif...
 
Tu risques d'être surpris par l'ordre d'apparition sinon (c'est aléatoire, selon l'humeur de la base :D)

n°1772642
malicious
Posté le 12-08-2008 à 19:04:42  profilanswer
 

:) ah oui, c'est bizarre ce comportement aléatoire. Merci pour ces précisions, ça va m'éviter des surprises selon l'humeur de la base :d

n°1772852
MagicBuzz
Posté le 13-08-2008 à 12:41:57  profilanswer
 

+1 avec l'ordre "aléatoire" des résultats. Une même requête, lancée deux fois de suite, si elle n'a pas de clause order by, peut parfaitement donner des résultats triés différements.

n°1773150
malicious
Posté le 14-08-2008 à 10:37:40  profilanswer
 

Et d'après vous, qu'est-ce qui mieux d'utiliser (taille, vitesse du tri) pour gérer la clause ORDER BY sur de très nombreux enregistrements : un BIGINT qui s'auto-incrémente ou un DATETIME ?

n°1773175
Taz
bisounours-codeur
Posté le 14-08-2008 à 11:08:42  profilanswer
 

un datetime avec un default now(). une séquence, ça se réinitialise, etc. Un index dessus et voilà.

n°1773177
MagicBuzz
Posté le 14-08-2008 à 11:11:10  profilanswer
 

t'as pas à te poser cette question. la seule question que tu dois te poser, c'est "qu'est qui représente le mieux l'information que je veux stocker"
 
cf. le lien de ma signature.

n°1773485
malicious
Posté le 14-08-2008 à 20:04:11  profilanswer
 

Dans le cas de mes tables que ce soit un datetime ou un entier qui s'incrémente ça ne change rien car je n'utilise aucun des deux pour la recherche, c'est juste pour le tri. C'est pourquoi un datetime avec now() me convient tout aussi bien et évite la réinitialisation d'un entier... bien que la réinitialisation d'un bigint unsigned soit vraiment difficile à obtenir !
Question de novice à propos de la clé index: Est-ce qu'on la créer généralement sur le champ qu'on a l'intention de trier avec ORDER BY ?

n°1773486
Taz
bisounours-codeur
Posté le 14-08-2008 à 20:17:16  profilanswer
 

bah tu mets un index et voilà.


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

  Ordre descendant sans id

 

Sujets relatifs
[access] Tri par ordre chronologique et non pas alphabétiqueEffectuer des calculs dans un ordre précis
[Hibernate] choisir ordre des colonnes à la création de tablesFonction de calcul de stock par ordre d'insertion
Ordre des paramètres d'un GET (avec une touche de Domino et d'ExtJS)[RESOLU] lister un répertoire dans l'ordre alphabétique
sql trier les résultats par ordre déterminé[Matlab] Résolution d'éq différentielle 3me ordre ?
Enumeration de fenetres dans l'ordre de la taskbarselect() : ordre de priorité
Plus de sujets relatifs à : Ordre descendant sans id


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)