Auteur Sujet: Aide Sur Une Requête  (Lu 859 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne poppyto

  • Débutant
  • *
  • Messages: 2
Aide Sur Une Requête
« le: 23 novembre 2003 à 19:03:24 »
Bonjour à tous  :)

J'aimerai bien optimiser une partie de mon script via une seule requête mais je n'arrive pas à trouver la bonne combinaison...

Voilà l'allure de la table MaTable
ID         Date      NB   Pseudo   Sujet                     Date_dernier
12345  12345    0     Jo            bonjour à tous !   12370
12345  12350    1     Jean        bonjour à tous !   0
12345  12370    2     Titou        bonjour à tous !   0
12346  12346    0     Mick         salut !                  12360
12346  12360    1     Julien       salut !                  0

Explication : Comme vous l'aurez deviné il s'agit d'un forum.
l'ID de message est le même pour les messages appartenant au même topic
Il y a bien sûr la date des autres messages.
Dans date_dernier, il y a la date du dernier message posté sur ce topic.

Alors voilà ce que j'aimerai faire en une seule requete :

Récupérer : l'ID,le pseudo,le sujet,la date des derniers messages posté et cela pour chaque ID, et bien sûr trié du plus récent au moins récent

Ici, le résulatt de la requête serait :
ID         Date      NB   Pseudo   Sujet                    
12345  12370    2     Titou        bonjour à tous !
12346  12360    1     Julien       salut !
Voilou j'ai planché dessus mais j'ai pas réussi :'( si vous pouvez m'aider je suis preneur :)

En vous remerciant d'avance
Cordialement, Stef++
« Modifié: 23 novembre 2003 à 19:03:21 par poppyto »

Hors ligne 8ball

  • Débutant
  • *
  • Messages: 45
    • http://www.supersportives.com
Aide Sur Une Requête
« Réponse #1 le: 23 novembre 2003 à 21:40:25 »
je ne l'ai pas essayé donc possible qu'elle ne fonctionne pas...
de tête ça donne :

SELECT DISTINCT(*) FROM MaTable WHERE Date_dernier >= 'now()' ORDER BY date_dernier DESC

Dis m'en des nouvelles ...
[size=8]8ball from liberty city[/size]

Hors ligne NaJ

  • Connaisseur
  • ***
  • Messages: 354
    • http://photo.pyrollo.com
Aide Sur Une Requête
« Réponse #2 le: 24 novembre 2003 à 11:29:14 »
Le DISTINCT est inutile et coûteux en terme de ressources. Le * va ramener trop de champs (coûteux aussi).

Donc en remplacant "DISTINCT (*)" par "ID, Date, NB, Pseudo, Sujet" ça donnera le même résultat en coûtant beaucoup moins !
www.traque-aux-plaques.com

Collection de photos de plaques et regards de chaussée

http://photo.pyrollo.com

Photos de balades

Hors ligne 8ball

  • Débutant
  • *
  • Messages: 45
    • http://www.supersportives.com
Aide Sur Une Requête
« Réponse #3 le: 24 novembre 2003 à 11:53:22 »
héhé ^^

je viens de me relire et de voir la bourde que j'ai fait.... comme quoi on n'a pas toute sa tête le soir (dimanche en plus). :rolleyes:

Mais bon, j'avais prévenu ....  :D  
[size=8]8ball from liberty city[/size]