Maison >base de données >tutoriel mysql >Comment compter efficacement les enregistrements par date dans une plage spécifiée ?
Calcul du nombre d'enregistrements pour chaque date dans une plage spécifiée
Dans le domaine de l'analyse des données, il est souvent nécessaire de déterminer le nombre d'enregistrements créé sur une période de temps. La tâche à accomplir consiste à interroger un ensemble de données pour compter les identifiants uniques dans une plage de dates. Cependant, l'exécution de cette requête à l'aide de l'extrait de code fourni rencontre une erreur « Clash de types d'opérandes ».
Plongez dans la tentative originale
L'approche initiale utilise un CTE récursif ( Common Table Expression) pour générer une séquence de dates dans la plage spécifiée. Cependant, l'erreur cruciale survient lors de la tentative de soustraction d'entiers des valeurs datetime2, entraînant des problèmes d'incompatibilité.
Exploiter une table de comptage
Pour surmonter cet obstacle et obtenir des performances optimales , envisagez d'utiliser une table ou une fonction de pointage. La mise en œuvre très appréciée de la table de pointage d'Itzik Ben-Gan est illustrée ci-dessous :
WITH L0 AS ( ... ), L1 AS ( ... ), L2 AS ( ... ), Nums AS ( ... ), Date_Range_T (d_range) AS ( SELECT ... )
Cette approche permet de générer une séquence de dates dans la plage spécifiée, fournissant ainsi la base du calcul du nombre d'enregistrements.
Rejoindre la table cible et regrouper
Par la suite, le Date_Range_T La table est jointe à la table tbl_Support_Requests à l'aide de filtres de date appropriés pour récupérer les identifiants créés dans chaque plage de dates. Les résultats sont ensuite regroupés par d_range pour obtenir le nombre total d'identifiants.
En appliquant cette méthode, vous pouvez calculer efficacement le nombre d'enregistrements pour chaque date dans la plage spécifiée, fournissant ainsi des informations précieuses pour l'analyse et la visualisation des données. .
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!