Maison >base de données >tutoriel mysql >Comment générer une plage de dates séquentielle dans MySQL pour la visualisation de données ?
Créer une plage de dates séquentielle dans MySQL pour le graphique de croissance de la base d'utilisateurs
Pour créer une plage de dates séquentielle dans MySQL, même pour les jours sans enregistrement , vous pouvez utiliser la technique suivante :
<br>SELECT DATE_ADD('2003-01-01 00:00:00.000', INTERVAL n5.num<em>10000 n4.num</em>1000 n3.num<em>100 n2.num</em>10 n1.num DAY ) AS date<br>DE<br>(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n1,<br>(SELECT 0 AS num UNION ALL SÉLECTION 1 UNION SÉLECTION TOUS 2 UNION SÉLECTION TOUS 3 UNION SÉLECTION TOUS 4 UNION SÉLECTION TOUS 5 UNION SÉLECTION TOUS 6 UNION SÉLECTION TOUS 7 UNION SÉLECTION TOUS 8 UNION ALL SELECT 9) n2,<br>(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n3,<br>(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n4,<br>(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n5<br>OÙ date >='02/01/2011 00:00:00.000' ET date < NOW()<br>ORDER BY date<br>
La requête génère une plage séquentielle de dates en combinant les colonnes n1 à n5, chacune représentant un chiffre unique. La plage totale est déterminée par la valeur maximale de chaque colonne (par exemple, si n3 a une valeur maximale de 3, la plage s'étend sur 399 jours).
Pour limiter la plage de dates, remplacez simplement la clause WHERE par la intervalle de date souhaité, tel que :
<br>WHERE date >= MIN(your_table_date_field) AND date ≪ MAINTENANT()<br>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!