Requete mysql

OmEn -  
teebo Messages postés 33570 Date d'inscription   Statut Modérateur 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

teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
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
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
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
OmEn
 
Il y a une erreur mais je ne sais ce que c'est. ESt-tu sur du 'top 5 *' ?
0
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
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OmEn
 
Et qu'est-ce que desc ? Je vais les essayer.
0
OmEn
 
Hélas rien ne marche...
0
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
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
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