SQl base - requete [Résolu]

Signaler
Messages postés
249
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
29 août 2011
-
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
-
Lo all,

Bon je cherche un requete ou autre pour que qd je lit ma table news (par ex) elle commence a lire du dernier au premier enregistrement.
J'avais penser a la clause LIMITE mais pas sa

Merci d'avance :)

Try to dodge my skill noob!

6 réponses

Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og Blesud

Essayez plutôt ceci :

SELECT * FROM news ORDER BY DESC

ou encore

SELECT * FROM news GROUP BY ma_colone DESC

en fonction de vos besoins ...

Sigurjon Birgir Sigurdsson aka Sjon

PS : Si la réponse vous convient veuillez cliquer sur accepter la réponse ...

Fra en skal land eyda drengurinn med logum isaprenbokkarinnar.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



Quand tu auras beaucoup de news, pense à accélérer la chose : à chaque fois que tu postes une news, fais cette requête :



TRUNCATE TABLE news ORDER BY id DESC



Ensuite quand tu consultes tes news :



SELECT titre, description, etc... FROM news



(plus besoin du ORDER BY, ce qui accélérèra nettement quand tu auras pas mal d'enregistrements).



Ensuite tu peux placer un index sur le champ date par exemple, et
récupérer les news dont la date est supérieure à aujourd'hui-10 jours
par exemple et appliquer une limite à ça, ça sera nettement plus rapide.



Bref la requête se transforme en ça :



SELECT titre, description, etc... FROM news WHERE date>'date_aujourd'hui-10 jours' LIMIT X



(ou X correspond au nombre d'enregistrements à retourner)



Tu feras bien sûr toujours ton TRUNCATE lorsque tu insères une news
(après avoir fait ton INSERT INTO news VALUES(...) tu fais la requête
TRUNCATE.



a ++

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
Anthomicro --> ??

tu as une doc sur ta syntaxe? je comprends pas le jumelage de tuncate avec order by ??



merci !


-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Cette syntaxe va réorganiser les données selon le champ id dans l'ordre
décroissant, ce qui évite dans les futures requêtes SELECT d'utiliser
le ORDER BY, très couteux en ressources.

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Heu... M... C'est ALTER TABLE et pas TRUNCATE TABLE (j'étais en plein dans les truncate chez moi, désolé pour cette erreur)



Bref tu fais une requête ALTER TABLE news ORDER BY id DESC


<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
arf! oki :))

je pensais que je passer a coté de qque chose avec TRUNCATE :)
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]