Maison > base de données > tutoriel mysql > Comment puis-je regrouper les données par semaine dans MySQL ?

Comment puis-je regrouper les données par semaine dans MySQL ?

Linda Hamilton
Libérer: 2024-12-04 18:46:20
original
767 Les gens l'ont consulté

How Can I Group Data by Week in MySQL?

Regroupement par semaine dans MySQL : fonction SEMAINE ANNÉE

MySQL propose une fonction SEMAINE ANNÉE qui peut être utilisée pour regrouper les données par semaine. Cette fonction renvoie une chaîne représentant l'année et le numéro de la semaine pour une date donnée. Par exemple :

SELECT YEARWEEK('2023-03-08')
Copier après la connexion

renvoie « 202309 ». Cela indique que le 8 mars 2023 tombe dans la 9ème semaine de 2023.

La fonction YEARWEEK inclut un deuxième argument facultatif qui spécifie le mode de début de semaine. La valeur par défaut est 1, ce qui indique que la semaine commence le dimanche. Un mode 0 indique que la semaine commence le lundi, et un mode 2 indique que la semaine commence le samedi.

Pour regrouper les données par semaine à l'aide de la fonction SEMAINE ANNÉE :

SELECT YEARWEEK(date, 0), COUNT(*) FROM table
GROUP BY YEARWEEK(date, 0)
Copier après la connexion

Cette requête regroupe les lignes du « tableau » par semaine de l'année, en supposant que les semaines commencent le lundi. La fonction 'COUNT(*)' compte le nombre de lignes dans chaque semaine.

Combinaison des fonctions ANNÉE et SEMAINE

Une approche alternative au regroupement par semaine consiste à utiliser une combinaison des fonctions ANNÉE et SEMAINE. Cela peut être utile si vous souhaitez plus de contrôle sur la logique de regroupement. Par exemple, la requête suivante regroupe les données par année et par numéro de semaine, quel que soit le mode de début de semaine :

SELECT YEAR(date), WEEK(date), COUNT(*) FROM table
GROUP BY YEAR(date), WEEK(date)
Copier après la connexion

EDIT :

Comme l'a noté Martin dans les commentaires, vous pouvez également utiliser la formule suivante pour regrouper par semaine :

CONCAT(YEAR(date), '/', WEEK(date))
Copier après la connexion

Cette approche peut être plus agréable à l'œil que d'utiliser YEARWEEK fonction.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal