Logo du forum
 

Forum TTH-News

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [SQL / PL-SQL / SGBD] » 5 derniers enregistrements classés par ordre décroissant
Login Mot de passe

1 visiteurs sur ce topic (0 membre(s), 1 invité(s) )


Auteur
Sujet : 5 derniers enregistrements classés par ordre décroissant
zorgh
Master
Membre # 7668

 Avatar du membre
Lieu : FRANCE

Messages :
869 (0.15 par jour)


Score :

Message du 10-12-2008 @ 16:46      Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Bonjour,

Soit les enregistrements suivants :

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

Je voudrais afficher 5 derniers enregistrements classés par ordre décroissant sur le critère champ1. Je voudrai donc avoir cet affichage là :

4698 ceffi
2563 toto
10 albe
0 titi
0 tutu

select champ1, champ2 from table order by id desc limit 5; --> me renoie bien les 5 derniers mais comment ajouter à la requête le tri décroissant sur le champ1 ?

select champ1, champ2 from table order by champ1 desc, id desc limit 5; --> ne me renvoie pas le bon résultat

select champ1, champ2 from table order by id desc limit 5, 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

Merci bien

[message édité le 10-12-2008 @ 18:28 Par zorgh]
----------
Toshiba M30X-125 Intel Centrino PM 1,7 Ghz - 1 Go DDR - DD 60 Go - 15,4"W TFT - Ati Radeon 9700
- Haut de page -
zorgh
Master
Membre # 7668

 Avatar du membre
Lieu : FRANCE

Messages :
869 (0.15 par jour)


Score :

Message du 10-12-2008 @ 17:04   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Cette requête fonctionne très bien :

SELECT * FROM (
SELECT id, champ1,champ2
FROM table
ORDER BY id DESC LIMIT 5) AS table
ORDER BY champ1 DESC;

[message édité le 10-12-2008 @ 18:27 Par zorgh]
----------
Toshiba M30X-125 Intel Centrino PM 1,7 Ghz - 1 Go DDR - DD 60 Go - 15,4"W TFT - Ati Radeon 9700
- Haut de page -
Joufflu
Sage
Membre # 14503

 Avatar du membre
Lieu : IDF

Messages :
1333 (0.25 par jour)


Score :

Message du 10-12-2008 @ 18:08   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Pourquoi pas simplement :

SELECT id, champ1,champ2 FROM table ORDER BY champ1 DESC LIMIT 0,5
----------
ThinkPad W520 - HP NC8430 - HP TC1100 - IBM ThinkPad X23
-> Gestion de cave a vin en ligne (gratuit) : www.VotreCave.info
- Haut de page -
B2000
Administrateur
Membre # 185

 Avatar du membre
Lieu : France/Poitiers/juste à côté...

Messages :
9757 (1.47 par jour)




Message du 10-12-2008 @ 18:19   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Code :


SELECT id, champ1, champ2 FROM table ORDER BY id DESC, champ1 DESC LIMIT 10;


et ca, ca ne marche pas ??

[edit]
j'avais pas compris le sens de la requete...
ce que tu as fait fonctionne
Code :

SELECT * FROM (SELECT id, champ1, champ2 FROM table ORDER BY id DESC LIMIT 10) AS table ORDER BY champ1 DESC;



[/edit]



[message édité le 10-12-2008 @ 18:36 Par B2000]
----------
Intel i5 8600K | Noctua NH-U14S | Asus Prime Z370-P | Ballistix Sport LT 16Go DDR4-2666MHz | PNY GeForce GTX 1060 XLR8 OC 6 Go | SAMSUNG 840 Pro 256Go | Western Digital WD Blue 1To | Sony AD-7280S | Corsair STRAFE RGB | Roccat Kova | SteelSeries QcK | Corsair Gaming Void USB | iiyama ProLite E2472HDD

Ryzen 7 1800x | MSI X370 Gaming Pro Carbon | 2x 8Go DDR4 | MSI GeForce 1060GTX 3Go | SAMSUNG 960Pro NVME 512Go | SAMSUNG 840 Pro 512Go | LG 34um95 3440x1440 34" | 2x SAMSUNG SyncMaster SA450 1920x1200 24" | Clavier Lenovo Ultraslim sans fil | Souris Logitech MX Anywhere 2

Lenovo T430s : i5 3320m | 2x8Go | Toshiba 120Go | station Mini Dock serie 3

Nexus 6 64Go Android 7.1.1 | Garmin Forerunner 720XT | Nikon COOLPIX S9200 + Transcend SDHC 8GB | Canon PIXMA IP4850 | ADSL Freebox Révolution

Pour dialoguer en live, le chat TTH ou par mIRC sur irc://porsche.webchat.org:6667/tt-hardware

Rejoignez la team EBuyClub TTH !!!

Un jour j'ai mangé une pomme...
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2010

Valid XHTML 1.0 Transitional

Page générée en 0.041 secondes