Comment trier par mois dans MySQL
L'ordre est novembre et octobre. Comment puis-je ajouter de la COMMANDE PAR à cette, afin que l'ordre est par mois, Jan, Fév, Mar...etc.
Merci d'avance.
CREATE TABLE `hw_homework` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`studentid` int(10) NOT NULL,
`subjectid` int(10) NOT NULL,
`assignment_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`teacherid` int(10) NOT NULL,
`date` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=55 ;
--
-- Dumping data for table `hw_homework`
--
INSERT INTO `hw_homework` (`id`, `studentid`, `subjectid`, `assignment_name`, `teacherid`, `date`) VALUES
(52, 56, 13, '1A', 20, '2012-10-28'),
(53, 56, 6, '12', 18, '2012-10-28'),
(54, 56, 4, 'page42', 59, '2012-11-02');
SELECT studentID,
DATE_FORMAT(`date`,'%M') `month`,
COUNT(studentid) totalMissed
FROM hw_homework
WHERE studentid = 56
GROUP BY studentid, DATE_FORMAT(`date`, '%M')
- pourquoi ne pas simplement de l'ordre par date asc?
- Avez-vous essayé "commande par MOIS(date)" ?
Vous devez vous connecter pour publier un commentaire.
Comme Chuidiang suggéré, j'ai ajouté ce qui suit pour obtenir ce que je voulais.
Merci à tous.
Utiliser comme suit dans votre requête
Dans votre cas, c'est la commande de base sur aplhabets.
La suite va donner de bon résultat.
Suis tombé sur ce post en essayant de trouver la solution pour trier par nom du Mois. Probablement pas très élégant, mais vous pouvez utiliser le CHAMP fonction de chaîne pour obtenir l'ensemble des résultats.
Essayer. Aussi, vous pouvez peut-être remplacer DATE_FORMAT avec le plus facile de la fonction MONTHNAME(
date
) pour des raisons de lisibilité.mysql> select * from hw_homework order by date asc; //ordre croissant
OU
mysql> select * from hw_homework order by date desc;