J'ai une base de données MySQL avec deux champs : Date et Valeur. Mes dates sont des trimestres (Q1-2007, Q2-2008...). Je veux pouvoir utiliser la requête SQL suivante :
SELECT * FROM table WHERE 1 ORDER BY Date
Comment puis-je le faire ?
J'ai une base de données MySQL avec deux champs : Date et Valeur. Mes dates sont des trimestres (Q1-2007, Q2-2008...). Je veux pouvoir utiliser la requête SQL suivante :
SELECT * FROM table WHERE 1 ORDER BY Date
Comment puis-je le faire ?
Je suppose que vous voulez qu'ils soient classés de manière à ce que tous les 2007 apparaissent dans l'ordre, suivis des 2008, etc. Cela devrait fonctionner :
SELECT * FROM table WHERE 1 ORDER BY SUBSTRING(Date, 4, 4), SUBSTRING(Date, 1, 2);
En supposant que vos formats de date sont tous cohérents et que votre colonne 'Date' est en fait un VARCHAR ou similaire...
Non. SELECT * FROM table WHERE 1 ORDER BY Date
déjà trier le champ Date
comme Q1-2007
, Q2-2007
, Q3-2007
, Q4-2007
? Si vous triez de telles chaînes de caractères, c'est ainsi qu'elles devraient être triées.
Si je devais créer une base de données pour contenir ces valeurs, je préférerais utiliser 3 champs, et utiliser deux champs différents pour le trimestre et l'année.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.