Requette SQL et tri des champs

cartman1706 Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   -  
eaque49 Messages postés 14 Statut Membre -
Bonjour tous le monde,

je suis en train de faire une requette SQL sur mon forum qui est destinée sortir tous les champs d'un "theme" ordonnés en decroissant par rapport a la "date" et a l'"heure" :

SELECT * FROM `forum` WHERE theme like "Annif de Chmilou" order by date DESC, heure desc


le probleme que j'ai est que cette requete ne fait pas correctement le tri. en effet, si les jours, mois et heures sont bien decroissante, ce n'est pas le cas pour l'annee ! il me met le bon tri de l'annee 2005 anant celui de l'annee 2006.

en clair j'amerais que le tri soit decroissant sur le jour, le mois, et l'heure mais croissant sur l'annee.

le champ "date" et sous la forme "01/02/06"
le champ heure est sous la forme "20 : 15"

Merci de votre aide
A voir également:

6 réponses

zenon Messages postés 729 Statut Membre 180
 
Bin, je ne sais pas dans quelle appli tu travailles.

La syntaxe n'est pas tout à fait la même ds access ou MySQL par exemple.

Je ne suis par certain que la fct Month() ou Year() qui extrait le mois ou l'année d'une date sous Access existent sous MySQL...

Tu peux en tous cas essayer en l'ajoutant à ton critère Order By. Il faut bien sûr remplacer "DateEvenement" par le vrai nom de ton champ date.
En access en tous cas, je pense qu'on ne pourrait pas l'appeler "Date". Il y aurait une ambiguïté avec la variable Date().
1
zenon Messages postés 729 Statut Membre 180
 
Tu as essayé en "fractionnant" la date du type:

Order By Month (DateEvenement) Desc, Year (DateEvenement) ?
0
cartman1706 Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   36
 
non, je ne connais pas cette fonction.
dois-je la taper telle quel ?
0
ricric Messages postés 34 Statut Membre 7
 
SELECT * FROM `forum`
WHERE theme like "Annif de Chmilou"
ORDER BY YEAR(date) ASC, date DESC

Il faudra peut-être mettre la date sous la forme yyyy-mm-dd pour que la fonction YEAR() et le tri sur la colonne 'date' fonctionnent.

SELECT * FROM `forum`
WHERE theme like "Annif de Chmilou"
ORDER BY YEAR(date) ASC, date DESC, heure DESC
(j'ai rajouté la colonne 'heure').
0

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

Posez votre question
cartman1706 Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   36
 
désolé les gens de ne pas avoir repondu plus tot !

Merci beaucoup pour vos explications, je vas essayer.

ps : je travaille sous PHPMyAdmin ... donc en MySQL !

0
eaque49 Messages postés 14 Statut Membre
 
Bonjour je remonte se post car j'ai le même soucis je voudrais faire un tri par mois et je voudrais demander quel mois.
je suis sous OPENBASE
actuellement j'ai la composition ci dessous:

Select nom, prenom, datenaiss, count(journee), count(demijournee)
From personne, activité
Where (jointure entre personne et activité)
Group By nom, prenom, datenaiss

dans la table activité j'ai la colonne date qui est en format date JJ:MM:AA

J'ai essayé de rajouter à la fin:
ORDER BY month(date) ASC

mais celui ne fonctionne pas de plus je ne trouve pas de méthode qui marche pour demander quelle mois je souhaiter afficher aussi.

Je tiens à remercier d'avance les personnes qui se pencherons sur mon problème

Cordialement JF
0