Requete mysql

OmEn -  
teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   -
Je sais que je me répète mais j'ai oublié ce que vous m'avez dit la dernière fois et je ne rettroube plus le message donc je repose la question : comment, grace à une requete mysql, puis-je connaitre les 5 plus récentes entrée en utilisant un champs date ou est-il plus préfèrable d'utiliser PHP et les ids ?

8 réponses

  1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    DESC comme DESCENDANT pour dire de le faire en ordre inverse...en gros, soit tu prend les 5 derniers et tu tries dans l'ordre normal (ASC mais c'est par default) soit tu prends les 5 premiers mais tu tries en ordre inverse...

    Pourl a facilite d'ecriture, le trie normal et prendre les 5 dernier...pour l'efficacite en cas de grosses tables, tries a l'envers et prendre les 5 premiers (grosse table > 100 000 entrees pour commencer a voir des differences et encore des petites...)

    ö,ö
    \_/
    1
  2. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Select top 5 * from matable sort by monchampdate;

    A quelques petit default de syntaxe parce que ca remonte, ca doit etre ca (sortby ou sort by? )

    ö,ö
    \_/
    0
    1. OmEn
       
      Il y a une erreur mais je ne sais ce que c'est. ESt-tu sur du 'top 5 *' ?
      0
  3. OmEn
     
    Mais cela ne me sort-il pas les 5 premiers ? Sinon merci mais puis-je utiliser cela avec autre chose que la date comme l'id ou autre ?
    0
  4. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Ba les 5 premiers, tu as raison, il faut trier dans l'autre sens (reverse je crois)

    Bon apres courte verification,
    SELECT LAST 5 * FROM... SORT BY date;

    SELECT LAST 5 * FROM... ORDER BY date;

    SELECT FIRST 5 * FROM... SORT BY date DESC;

    SELECT FIRST 5 * FROM... ORDER BY date DESC;

    Theoriquement, elles marchent toutes ;-)

    ö,ö
    \_/
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. OmEn
     
    Et qu'est-ce que desc ? Je vais les essayer.
    0
  7. OmEn
     
    Est-ce que ce code marcherait ? Le voilà :

    $requete = mysql_query("SELECT * FROM matable ORDER BY date");
    $num = 1;
    $count = mysql_query("SELECT COUNT * FROM matable");
    while($row = mysql_fetch_row($requete))
    {
    if($num >= ($count - 5))
    {
    ...
    }
    $num++;
    }
    0
  8. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    J'ai un peu oublie le PHP, mais je pense que oui, mais ca tirera plus au niveau temps qu'une belle requete SQL

    ö,ö
    \_/
    0