IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Tri sql


Sujet :

Langage SQL

  1. #1
    Oni
    Oni est déconnecté
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Tri sql
    Bonjour,

    il y a quelques temps je me suis fait un petit forum, avec juste une table dans voici la structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE forum (
      id int(6) NOT NULL auto_increment,
      sujet int(6) NOT NULL default '0',
      reponse int(3) NOT NULL default '0',
      titre varchar(40) NOT NULL default '',
      message text NOT NULL,
      prenom varchar(40) NOT NULL default '',
      date datetime NOT NULL default '0000-00-00 00:00:00',
      cacher char(3) NOT NULL default '',
      UNIQUE KEY id (id)
    ) TYPE=MyISAM;
    Les sujets s'affichent en fonction de leur numéro de création (le plus grand chiffre se trouve en haut de la liste), par contre si quelqu'un mets une réponse dans un sujet inférieur , je fais apparaître la date de la dernière réponse mais l'ordre ne change pas.

    J'ai donc essayer ce code enfin de mettre les sujets qui ont eu une dernière réponse en haut de la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT (sujet)
    FROM `forum` 
    WHERE 1 
    ORDER BY `date` DESC
    Mais ça ne fonctionne pas car il me marque tjrs les sujet en ordre décroissant.

    Est ce que quelqu'un a tout d'abord compris mon problème ?
    Et si oui est ce qu'il peut me répondre, d'avance merci.

  2. #2
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Enleve le 'DESC'

  3. #3
    Oni
    Oni est déconnecté
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    A part que cela me compte à l'envers c'est pareil :'(

  4. #4
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT DISTINCT (sujet) 
    FROM `forum` 
    ORDER BY date
    ca donne quoi?

  5. #5
    Oni
    Oni est déconnecté
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    ça donne ça :
    • sujet
      1
      2
      3
      4
      5
      ...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 63
    Points : 54
    Points
    54
    Par défaut
    Il me semble que le mot 'date' est réservé en SQL et ton probleme vient peut être de là.
    Renomme ton champs qui contient là date en datePost par ex et réessaye

  7. #7
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 54
    Points : 65
    Points
    65
    Par défaut
    Petite question metaphysique :

    Laquelle parmis les X dates potentielles de réponse à un "SUJET" cette requete pourait elle exploiter pour le TRI :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT DISTINCT (sujet) 
    FROM `forum` 
    ORDER BY date DESC
    Avec un peu de pot, la date de création de la premiere occurence du sujet qui a de trés trés trés trés fortes chances d'etre dans le meme ordre que l'ID autoincrémenté

    Si tu essayais cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT 
                a.sujet 
    FROM 
              ( SELECT
                             sujet , max( date ) DateDerRep
                FROM 
                            `forum`
                group by
                            sujet 
              ) as a
    ORDER BY 
             a.DateDerRep DESC
    ou si une colonne supplémentaire n'est pas génante, simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT
                sujet , max( date )
    FROM 
              `forum`
    group by
               sujet 
    ORDER BY 
             2 DESC

  8. #8
    Oni
    Oni est déconnecté
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Merci
    Superbe ta requete papounet, merci bcp !!

    En faite non ça ne me géne pas car je ne fait que récuperer le sujet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tri sql/vba dans formulaire ACCESS
    Par seb_thiery dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 13/08/2008, 13h30
  2. requête tri sql
    Par flora806 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 08/03/2008, 10h29
  3. Tri SQL Loader
    Par zizou771 dans le forum SQL*Loader
    Réponses: 10
    Dernier message: 24/01/2008, 09h59
  4. Tri dans ArrayList ou tri SQL?
    Par Bartuk dans le forum JDBC
    Réponses: 4
    Dernier message: 22/03/2006, 23h21
  5. tri sql
    Par bruno782 dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/09/2005, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo