


Comment puis-je regrouper efficacement les données par semaine dans MySQL ?
Dec 05, 2024 pm 08:44 PMRegroupement des données par semaine dans MySQL
Lorsque vous travaillez avec des valeurs d'horodatage dans MySQL, il peut être nécessaire de regrouper les données par semaine, de la même manière à la fonction TRUNC(timestamp,'DY') d'Oracle. Cependant, MySQL nécessite une approche différente pour obtenir cette fonctionnalité.
Utilisation des fonctions YEAR() et WEEK()
MySQL propose les fonctions YEAR() et WEEK() , qui peut être utilisé conjointement pour regrouper les données par semaine. En combinant ces fonctions dans les clauses SELECT et GROUP BY, on peut obtenir le résultat souhaité :
SELECT YEAR(timestamp), WEEK(timestamp), etc... FROM ... WHERE .. GROUP BY YEAR(timestamp), WEEK(timestamp)
Bien qu'elle ne soit pas particulièrement élégante, cette méthode est fonctionnelle. De plus, vous pouvez combiner ces fonctions pour former une seule expression :
SELECT CONCAT(YEAR(timestamp), '/', WEEK(timestamp)), etc... FROM ... WHERE .. GROUP BY CONCAT(YEAR(timestamp), '/', WEEK(timestamp))
Fonction YEARWEEK()
Une autre option consiste à utiliser la fonction YEARWEEK(), qui renvoie une valeur combinée de l'année et du numéro de la semaine :
SELECT YEARWEEK(mysqldatefield), etc... FROM ... WHERE .. GROUP BY YEARWEEK(mysqldatefield)
Cette fonction fournit une sortie plus compacte par rapport à la précédente
Semaines chevauchantes
Il est important de réfléchir à la gestion des semaines qui chevauchent le début de l'année. L'approche YEAR() / WEEK() peut diviser les données agrégées en deux : une avec l'année précédente et une avec la nouvelle année. Dans de tels cas, la fonction YEARWEEK() avec un argument de mode facultatif défini sur 0 ou 2 garantit que les données agrégées incluent des semaines complètes, quels que soient les problèmes de chevauchement.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
