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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  10 derniers enregsitrements

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

10 derniers enregsitrements

n°1824868
sneakz
Posté le 10-12-2008 à 13:30:47  profilanswer
 

Bonjour,
 
Je voudrais afficher les 10 derniers enregistrements selon un tri décroissant sur le  champ1.
 
select champ1, champ2 from table order by id desc limit 10;
 
Si j'exécute :
 
select champ1, champ2 from table order by champ1 desc, id desc limit 10; --> cela ne fonctionne pas.
 
Comment puis-je corriger cela ?
 
Merci bien

mood
Publicité
Posté le 10-12-2008 à 13:30:47  profilanswer
 

n°1824876
esox_ch
Posté le 10-12-2008 à 13:39:02  profilanswer
 

J'ai pas compris, c'est quoi le problème avec la 1ère requête que tu écris là ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1824893
sneakz
Posté le 10-12-2008 à 13:55:47  profilanswer
 

La première requête fonctionne et me renvoie bien les 10 derniers enregistrements.
Je souhaite par contre afficher ces 10 derniers enregistrements par ordre décroissant à partir du critère champ1.

n°1824912
esox_ch
Posté le 10-12-2008 à 14:24:34  profilanswer
 

Je comprend pas. Tu peux mettre ici un exemple de ce que tu voudrais obtenir ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1824919
kao98
...
Posté le 10-12-2008 à 14:38:09  profilanswer
 

Bizarre !
C'est quoi l'erreur exactement ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1824964
sneakz
Posté le 10-12-2008 à 15:28:27  profilanswer
 

select champ1, champ2 from table order by champ1 desc, id desc limit 10; --> plus de 10 enregistrements sont affichés, les enregistrements à valeur nulle ne sont pas affichés.
 
select champ1, champ2 from table order by  id desc limit 10, champ1 desc;  --> Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'champ1 DESC' at line 1

n°1824967
esox_ch
Posté le 10-12-2008 à 15:33:10  profilanswer
 

esox_ch a écrit :

Je comprend pas. Tu peux mettre ici un exemple de ce que tu voudrais obtenir ?



---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1824976
sneakz
Posté le 10-12-2008 à 15:43:23  profilanswer
 

id champ1 champ2
1   2563       toto
2  null       titi
3  4698       ceffi
4  null        tutu
5  10       albe
6   2563       toto
7  null       titi
8  4698       ceffi
9  null       tutu
10 10       albe
 
Si je raisonne sur les 5 derniers enregistrements, je voudrai avoir cet affichage là :
 
4698  ceffi
2563 toto
10 albe
0 titi
0 tutu
 
Les 5 derniers enregsitrements classés par ordre décroissant sur le critère champ1
 
 

n°1824981
esox_ch
Posté le 10-12-2008 à 15:47:19  profilanswer
 

select champ1,champ2 from ta_table order by champ1 desc limit 10;
 
C'est quoi le soucis avec ça ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1825010
sneakz
Posté le 10-12-2008 à 16:41:47  profilanswer
 

Bien, le order by doit se faire sur l'id pour avoir les 10 derniers !! non ?
 
select champ1,champ2 from ta_table order by champ1 desc limit 10;  -> ne me renvoie pas le bon affichage. Il renvoie bien 10 valeurs mais pas les dernières. Dans les 10 enregistrements renvoyés, j'ai des doublons et je n'ai pas les valeurs null de type 0 titi ou 0 tutu

mood
Publicité
Posté le 10-12-2008 à 16:41:47  profilanswer
 

n°1825012
Alisteroid
Posté le 10-12-2008 à 16:43:01  profilanswer
 

Le soucis c'est que le tri s'effactue avant de prendre les 10 derniers, lui il veut prendre les 10 derniers puis trier.

n°1825013
Alisteroid
Posté le 10-12-2008 à 16:45:30  profilanswer
 

Code :
  1. SELECT * FROM (
  2.    SELECT id, champ1,champ2
  3.    FROM ta_table
  4.    ORDER BY id DESC LIMIT 10)
  5. ORDER BY champ1 DESC;


Message édité par Alisteroid le 10-12-2008 à 16:46:06
n°1825019
kao98
...
Posté le 10-12-2008 à 16:50:34  profilanswer
 

J'ai rien dit


Message édité par kao98 le 10-12-2008 à 16:51:01

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1825024
sneakz
Posté le 10-12-2008 à 16:55:23  profilanswer
 

Merci sebondus. Je ne savais pas que l'on pouvait imbriquer des select.
 
J'ai toutefois le retour suivant :
 
Erreur : Every derived table must have its own alias

n°1825026
Alisteroid
Posté le 10-12-2008 à 16:59:27  profilanswer
 

Code :
  1. SELECT * FROM (
  2.    SELECT id, champ1,champ2
  3.    FROM ta_table
  4.    ORDER BY id DESC LIMIT 10) AS ma_table
  5. ORDER BY champ1 DESC;

n°1825035
sneakz
Posté le 10-12-2008 à 17:03:11  profilanswer
 

Super ! merci beaucoup sebondus.
Merci également à kao98 et à esox_ch pour l'entraide.


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

  10 derniers enregsitrements

 

Sujets relatifs
Comment lire les X derniers caracteres d'un fichier à distance?Récupérer les x derniers enregistrements (en ASC)
[Resolu] [Coppermine] Derniers ajouts[RSS] Flux RSS de HFR avec les derniers posts ?
[SQL] Afficher les 10 derniersfonction qui renvoie les 4 derniers caractères en vc++ ?
Derniers sujet en PHP sur le portail[.bat] Lister les 4 derniers fichiers
Concours de programmation : Prologin 2006 (derniers jours)Recuperer les N derniers enregistrements
Plus de sujets relatifs à : 10 derniers enregsitrements


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