6th Nov 2025 12 minutes de lecture Votre année en données : Comment SQL vous aide à résumer 12 mois d'informations Agnieszka Kozubek-Krycuń pratique sql analyse des données Table des matières Voici votre ensemble de données : Un simple suivi de séance d'entraînement Étape 1 - Votre résumé annuel Étape 2 - Statistiques par type d'activité Étape 3 - Statistiques mensuelles par activité Étape 4 - Faits marquants et records personnels Étape 5 - Statistiques sur le jour de la semaine Votre année, vos données Vous avez toujours voulu analyser votre propre année comme le fait Spotify Wrapped ? Avec quelques requêtes SQL, vous pouvez transformer vos données d'entraînement - ou n'importe quel ensemble de données - en un bilan personnel de votre année. Comment s'est passée votre année ? Combien avez-vous dépensé ? Quel type de musique avez-vous le plus écouté ? Combien de séances d'entraînement avez-vous effectuées - ou combien de films avez-vous regardés ? Toutes ces informations existent déjà dans votre vie numérique. Votre application bancaire suit vos dépenses, Spotify conserve votre historique d'écoute et votre tracker de fitness enregistre chaque course. La seule chose qui manque, c'est votre propre analyse - une analyse qui raconte l'histoire qui vous intéresse. C'est là que le langage SQL entre en jeu. Avec quelques requêtes simples, vous pouvez résumer une année entière de données personnelles, qu'il s'agisse de votre budget, de vos listes de lecture ou de vos séances d'entraînement, et découvrir des informations que la plupart des applications ne vous montrent jamais. Même si vous n'êtes pas un pro du SQL, il n'est pas trop tard pour commencer. Nous sommes en octobre : c'est le moment idéal pour apprendre le langage SQL et vous préparer à créer votre propre "année de données" avant la fin de celle-ci. Vous ne savez pas par où commencer ? Commencez par notre cours SQL pour les débutants plus de 100 exercices pratiques conçus pour vous aider à acquérir de réelles compétences en SQL dès le premier jour. Chaque leçon est interactive, ce qui vous permettra de gagner rapidement en confiance et de commencer à écrire vos propres requêtes en un rien de temps. Dans cet article, nous utiliserons un ensemble fictif de données d'entraînement pour montrer comment SQL vous aide à trouver votre distance totale, votre meilleur mois, votre jour le plus actif et même vos records personnels. Une fois que vous aurez compris les principes de base, vous pourrez appliquer les mêmes idées à n'importe quel type de données que vous suivez. Voici votre ensemble de données : Un simple suivi de séance d'entraînement Pour rendre les choses plus pratiques, travaillons avec un petit ensemble de données de type Strava, que vous pouvez facilement créer vous-même. Imaginez un tableau appelé "séances d'entraînement", dans lequel chaque ligne représente une activité de votre année : une course à pied, un tour de vélo ou une séance de natation. Voici à quoi cela ressemble : dateactivity_typedistance_kmduration_minavg_speed_kmhelevation_mcalorieslocation 2025-01-05Run8.44210.045430London 2025-02-10Ride42.511023.1120890London 2025-03-07Run10.45210.555600London 2025-04-12Ride38.29823.3210850Surrey Hills 2025-05-03Run5.83010.630360London La plupart des séances d'entraînement se sont déroulées près de chez vous, à Londres, avec, à l'occasion, une sortie plus longue en dehors de la ville. Chaque colonne raconte une partie de votre histoire : quand vous vous êtes entraîné, de quel type d'activité il s'agissait, quelle distance vous avez parcourue, combien de temps cela a duré et même où cela s'est produit. C'est le genre d'informations que votre montre ou votre application collecte automatiquement - vous avez juste besoin d'un moyen de les lire. C'est là qu'intervient le langage SQL. En exécutant quelques requêtes simples, vous pouvez transformer ces données brutes en un résumé de votre année entière : quelle distance vous avez parcourue, quel mois vous avez été le plus actif et à quoi ressemblaient vos records personnels. Commençons par examiner vos totaux annuels. Étape 1 - Votre résumé annuel Commençons par une vue d'ensemble. Avant d'entrer dans les détails, il est utile de connaître la distance totale parcourue cette année, le temps d'entraînement total et le nombre de séances d'entraînement effectuées. Avec SQL, vous pouvez obtenir tout cela en une seule requête : SELECT SUM(distance_km) AS total_distance, SUM(duration_min) AS total_duration, COUNT(*) AS total_sessions FROM workouts WHERE EXTRACT(YEAR FROM date)=2025; Cette requête vous donne un résumé rapide de votre année. Vous pourriez découvrir quelque chose comme ceci : Distance totale : 405 km Temps total : 1 200 minutes (soit 20 heures !) Nombre total de séances : 42 séances d'entraînement C'est un aperçu satisfaisant de vos efforts - votre année entière, condensée en trois chiffres. Si vous souhaitez apprendre à rédiger des requêtes de ce type, consultez notre SQL pour les débutants cours. Il comprend une section complète sur la création de statistiques simples, vous aidant à gagner en confiance grâce à une pratique réelle et concrète du langage SQL. Cette vue d'ensemble présente toutefois une petite limite : elle combine tous les éléments. Si votre tableau inclut des courses, des randonnées ou des baignades, ces activités ont des distances et des vitesses très différentes. Les additionner ne donne pas une image complète. C'est pourquoi l'étape suivante consiste à ventiler vos statistiques par type d'activité. Étape 2 - Statistiques par type d'activité Une randonnée de 40 km et une course de 10 km ne sont pas à mettre dans le même panier - les distances parcourues à vélo sont naturellement plus élevées, tandis que la course à pied prend plus de temps par kilomètre. Pour bien comprendre votre effort, vous devez séparer vos données par type d'activité. Voici comment procéder : SELECT activity_type, SUM(distance_km) AS total_distance, ROUND(AVG(distance_km),1) AS avg_distance, ROUND(AVG(avg_speed_kmh),1) AS avg_speed, COUNT(*) AS total_sessions FROM workouts GROUP BY activity_type ORDER BY total_distance DESC; Cette requête regroupe vos données par activité et indique : la distance totale parcourue, la durée moyenne de votre séance, votre vitesse moyenne, et combien de fois vous vous êtes entraîné. Voici ce que vous pourriez voir : activity_typetotal_distanceavg_distanceavg_speedtotal_sessions Ride310.538.922.88 Run102.38.510.912 Vos données sont maintenant plus complètes. Vous avez peut-être parcouru plus de kilomètres à vélo, mais vous avez couru plus souvent. Ou peut-être que votre rythme de course moyen s'est amélioré par rapport à vos sorties. C'est là que SQL devient un véritable outil d'analyse - en vous aidant à voir les différences, et pas seulement les totaux. Si vous souhaitez comprendre comment fonctionnent les requêtes de ce type - et vous entraîner à construire les vôtres - commencez par suivre notre SQL pour les débutants cours. Il est truffé d'exercices interactifs qui vous guident pas à pas à travers les éléments essentiels, afin que vous puissiez rapidement apprendre à grouper, filtrer et résumer vos données en toute confiance. Ensuite, nous allons zoomer davantage et explorer l'évolution de vos performances mois par mois. Étape 3 - Statistiques mensuelles par activité Une fois que vous avez vu vos totaux globaux et par activité, l'étape suivante consiste à comprendre comment votre entraînement a évolué mois par mois. SQL facilite cette tâche grâce à la fonction DATE_TRUNC(), qui vous permet de regrouper les données en fonction d'une période spécifique, par exemple, le mois. Voici la requête SELECT DATE_TRUNC('month', date) AS month, activity_type, COUNT(*) AS sessions, SUM(distance_km) AS total_distance, ROUND(AVG(distance_km), 1) AS avg_distance, ROUND(AVG(avg_speed_kmh), 1) AS avg_speed, MAX(distance_km) AS longest_distance FROM workouts GROUP BY month, activity_type ORDER BY month, activity_type; Lorsque vous écrivez DATE_TRUNC('month', date), SQL "arrondit" chaque date au premier jour du mois. Ainsi, tous les entraînements de janvier seront regroupés sous 2025-01-01, ceux de février sous 2025-02-01, et ainsi de suite. Cela vous permet de résumer les données pour chaque mois de votre ensemble de données. Remarque : la fonction DATE_TRUNC() fonctionne dans PostgreSQL, Snowflake, Redshift et BigQuery. Les autres bases de données utilisent une syntaxe différente : MySQL : DATE_FORMAT(date, '%Y-%m-01') SQL Server : DATEFROMPARTS(YEAR(date), MONTH(date), 1) SQLite : strftime('%Y-%m-01', date) Si vous souhaitez en savoir plus sur l'utilisation des fonctions de date et d'heure, consultez notre cours Fonctions SQL standards ou l'un de ses équivalents pour MySQL, PostgreSQLou SQL Server. Chaque version vous apprend à utiliser des fonctions comme celles-ci dans la base de données avec laquelle vous travaillez tous les jours. La requête indique, pour chaque activité et chaque mois : le nombre de séances que vous avez effectuées, votre distance totale, votre distance moyenne, votre vitesse moyenne, et votre séance d'entraînement la plus longue ce mois-là. Exemple de résultats : monthactivity_typesessionstotal_distanceavg_distanceavg_speedlongest_distance 2025-01-01Run430.57.610.810.2 2025-01-01Ride270.035.021.938.5 2025-02-01Run327.49.111.010.4 2025-02-01Ride3105.035.022.142.5 2025-03-01Run328.09.311.210.4 2025-03-01Ride4140.035.023.045.0 2025-04-01Run216.88.410.99.0 2025-04-01Ride4150.037.523.145.2 Avec cette requête, vous pouvez voir comment vos performances ont évolué tout au long de l'année - quand vous vous êtes entraîné le plus souvent, quand vos distances ont atteint leur maximum et comment votre rythme moyen a évolué. Ensuite, examinons vos records personnels, c'est-à-dire les entraînements individuels qui se sont distingués des autres. Étape 4 - Faits marquants et records personnels Maintenant que vous avez pris connaissance de vos progrès mensuels, passons à la partie la plus gratifiante : vos records personnels. Chaque athlète aime connaître ses entraînements les plus longs, les plus rapides ou les plus difficiles, et SQL peut les trouver en quelques secondes. Commençons par votre plus longue randonnée et votre plus longue course. SELECT * FROM workouts WHERE distance_km = ( SELECT MAX(distance_km) FROM workouts WHERE activity_type = 'Ride' ); Vous pouvez répéter la même requête pour les courses, en remplaçant simplement 'Ride' par 'Run'. Cette sous-requête recherche la distance maximale pour chaque type d'activité et renvoie les détails complets de la séance d'entraînement, afin que vous puissiez voir où et quand ce record a été établi. Si vous souhaitez en savoir plus sur le fonctionnement des sous-requêtes et sur la manière de les utiliser pour comparer, filtrer ou calculer des valeurs, consultez notre rubrique Sous-requêtes SQL sur les sous-requêtes SQL. Il s'agit d'un moyen pratique de s'entraîner à écrire des requêtes à l'intérieur d'autres requêtes, à l'aide d'ensembles de données réels similaires à celui-ci. De la même manière, vous pouvez trouver votre séance d'entraînement la plus rapide (sur la base de la vitesse moyenne) : SELECT * FROM workouts WHERE avg_speed_kmh = ( SELECT MAX(avg_speed_kmh) FROM workouts WHERE activity_type = 'Run' ); Vous pouvez utiliser cette structure pour d'autres mesures : l'altitude la plus élevée, la durée la plus longue, le plus grand nombre de calories brûlées ou même votre mois le plus long. Ces records personnels sont une façon amusante de terminer l'analyse. Ils donnent à votre année un ensemble de points forts - les séances d'entraînement dont vous vous souviendrez le plus lorsque vous regarderez en arrière. Nous terminerons par une dernière perspective : le moment où vous vous entraînez le plus, c'est-à-dire vos habitudes du jour de la semaine. Étape 5 - Statistiques sur le jour de la semaine Tout le monde a des habitudes d'entraînement - peut-être que vous roulez toujours le week-end ou que vous faites de petites courses pendant la semaine. SQL permet de découvrir ces habitudes à l'aide d'une simple requête. SELECT EXTRACT(DOW FROM date) AS weekday_number, CASE EXTRACT(DOW FROM date) WHEN 0 THEN 'Sunday' WHEN 1 THEN 'Monday' WHEN 2 THEN 'Tuesday' WHEN 3 THEN 'Wednesday' WHEN 4 THEN 'Thursday' WHEN 5 THEN 'Friday' WHEN 6 THEN 'Saturday' END AS weekday, activity_type, COUNT(*) AS sessions, ROUND(AVG(distance_km), 1) AS avg_distance FROM workouts GROUP BY weekday_number, weekday, activity_type ORDER BY (CASE WHEN weekday_number = 0 THEN 7 ELSE weekday_number END), activity_type; La fonction EXTRACT(DOW FROM date) renvoie le jour de la semaine sous la forme d'un nombre (0 pour le dimanche et 6 pour le samedi). L'instruction CASE convertit ces nombres en noms lisibles, et l'instruction finale ORDER BY garantit que les jours apparaissent du lundi au dimanche. Si vous souhaitez vous entraîner à l'utilisation conjointe des expressions CASE et des fonctions de date - comme dans cette requête -, consultez notre Création de rapports basiques en SQL cours. Il montre comment combiner ces outils pour regrouper, étiqueter et résumer les données de manière efficace, en vous aidant à créer des rapports clairs et pertinents, étape par étape. Exemple de résultats : weekday_numberweekdayactivity_typesessionsavg_distance 1MondayRun27.8 3WednesdayRun39.0 5FridayRide232.5 6SaturdayRide438.0 0SundayRun210.2 Ce tableau vous permet de connaître instantanément votre rythme - courses en semaine, sorties le week-end, ou peut-être un modèle de récupération entre les deux. Vous connaissez désormais vos totaux annuels, les performances de chaque type d'activité, le moment où vous avez atteint votre apogée, vos records personnels et la façon dont votre routine hebdomadaire a façonné l'ensemble de l'année. Votre année, vos données Si vous avez aimé explorer ce simple ensemble de données sur l'entraînement, imaginez ce que vous pourriez faire avec vos propres données, qu'il s'agisse de vos habitudes de consommation ou de l'historique de vos flux. Nous sommes en octobre, le moment idéal pour commencer à apprendre le langage SQL et créer votre propre résumé annuel avant la fin de l'année. Vous venez de voir comment quelques requêtes SQL simples peuvent transformer des données brutes en véritables informations. Avec SUM, AVG, GROUP BY, et quelques fonctions d'aide, vous avez construit un résumé complet de votre année - totaux, tendances mensuelles, enregistrements personnels et même votre routine hebdomadaire. Et il ne s'agissait que d'un seul ensemble de données - vos séances d'entraînement. La même approche fonctionne pour presque tout ce que vous suivez : votre budget personnel (dépenses totales, moyennes mensuelles, catégories de dépenses les plus importantes), votre calendrier (nombre de réunions, moments où vous êtes le plus occupé), ou vos statistiques Spotify (artistes les plus écoutés, chansons par mois, durée totale d'écoute). Une fois que vous avez compris comment poser des questions avec SQL, vous pouvez analyser n'importe quel aspect de votre vie ou de votre travail qui laisse des traces de données. Si vous voulez apprendre à le faire correctement - étape par étape, avec des exercices pratiques - commencez par LearnSQL.fr. Le plan Tout à vie Plan SQL vous donne un accès à vie à tous nos cours, ce qui vous permet de passer du statut de débutant à celui d'analyste chevronné à votre propre rythme. Nous sommes en octobre : c'est le moment idéal pour commencer à apprendre et préparer votre propre "année des données". Avec le Tout à vie Plan SQLvous débloquez tous les cours actuels et futurs pour un prix unique - pas d'abonnement, pas de renouvellement. Vous bénéficiez de parcours allant de débutant à avancé (bases, requêtes, sous-requêtes, jointures, fonctions de fenêtre, reporting), de pistes de pratique avec de vrais ensembles de données, d'exercices interactifs et de certificats. Apprenez à votre rythme, revisitez les leçons à tout moment et continuez à développer vos compétences dans des domaines tels que l'analyse, le reporting et la préparation des données, le tout dans le cadre d'un seul et même plan. Tags: pratique sql analyse des données