Apprenez à extraire des données basées sur des années et des mois spécifiques en utilisant SQL. Cette méthode facilite l’analyse des données pour des mois ou des années particuliers. Nous expliquerons comment récupérer efficacement des données en utilisant les fonctions DATE de SQL et d’autres fonctions utiles.
Configuration de la base de données
Tout d’abord, configurons la base de données et les tables. Voici un script SQL pour créer une table avec des données d’exemple.
Création de la base de données
Créez une base de données. Si vous avez déjà une base de données, vous pouvez sauter cette étape.
CREATE DATABASE sample_db;
USE sample_db;
Création de la table
Ensuite, créez une table pour stocker les données. Ici, nous utilisons une table appelée sales
comme exemple.
CREATE TABLE sales (
id INT AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(100),
amount DECIMAL(10, 2),
sale_date DATE
);
Insertion de données d’exemple
Enfin, insérez des données d’exemple dans la table. Cela prépare les données pour les exemples de requêtes plus tard.
INSERT INTO sales (product_name, amount, sale_date) VALUES('Product A', 100.00, '2023-01-15'),('Product B', 150.00, '2023-02-20'),('Product C', 200.00, '2023-03-25'),('Product A', 250.00, '2023-01-30'),('Product B', 300.00, '2023-02-15');
Écrire des requêtes SQL de base
Comprendre la structure des requêtes SQL de base est la première étape pour extraire des données pour des années et des mois spécifiques. Ici, nous expliquons comment écrire des instructions SELECT de base.
Bases des instructions SELECT
L’instruction SELECT est une commande SQL utilisée pour récupérer des données d’une base de données. Voici un exemple de requête basique pour obtenir toutes les données de la table sales
.
SELECT * FROM sales;
Sélection de colonnes spécifiques
Il est également possible de sélectionner uniquement des colonnes spécifiques au lieu de toutes les colonnes de la table. Par exemple, la requête pour sélectionner les colonnes product_name
et amount
est la suivante :
SELECT product_name, amount FROM sales;
Utilisation de la clause WHERE pour spécifier des conditions
La clause WHERE permet d’extraire uniquement les données qui répondent à certaines conditions. Par exemple, la requête pour obtenir les données où le amount
est de 200 ou plus est la suivante :
SELECT * FROM sales WHERE amount >= 200;
En comprenant ces bases, il devient plus facile de comprendre les requêtes pour extraire des données pour des années et des mois spécifiques.
Utilisation des fonctions DATE pour spécifier des années et des mois spécifiques
Pour extraire des données pour des années et des mois spécifiques, utilisez les fonctions DATE de SQL. Ici, nous expliquons l’utilisation de base des fonctions DATE.
Utilisation de la fonction DATE_FORMAT
La fonction DATE_FORMAT vous permet de changer le format d’une date. Cette fonction est utilisée pour extraire des années ou des mois spécifiques.
SELECT * FROM sales
WHERE DATE_FORMAT(sale_date, '%Y-%m') = '2023-01';
Cette requête récupère tous les enregistrements où la sale_date
est en janvier 2023.
Utilisation des fonctions YEAR et MONTH
Les fonctions YEAR et MONTH vous permettent d’extraire la partie année ou mois d’une date.
SELECT * FROM sales
WHERE YEAR(sale_date) = 2023 AND MONTH(sale_date) = 1;
Cette requête récupère également les enregistrements de janvier 2023.
Utilisation de la clause BETWEEN
Vous pouvez également utiliser la clause BETWEEN pour spécifier une plage d’années et de mois spécifiques.
SELECT * FROM sales
WHERE sale_date BETWEEN '2023-01-01' AND '2023-01-31';
Cette requête extrait les données pour la période du 1er janvier 2023 au 31 janvier 2023.
En utilisant ces méthodes, vous pouvez extraire efficacement des données basées sur des années et des mois spécifiques.
Exemples de requêtes réelles
Ici, nous fournissons des exemples spécifiques de requêtes SQL pour extraire des données pour des années et des mois spécifiques.
Exemple 1 : Extraire des données pour une année et un mois spécifiques
Par exemple, pour obtenir les données de vente de janvier 2023, utilisez la requête suivante :
SELECT * FROM sales
WHERE DATE_FORMAT(sale_date, '%Y-%m') = '2023-01';
Cette requête retourne tous les enregistrements où sale_date
correspond à janvier 2023.
Exemple 2 : Extraire des données en spécifiant l’année et le mois séparément
De même, utilisez les fonctions YEAR et MONTH pour extraire les données de janvier 2023.
SELECT * FROM sales
WHERE YEAR(sale_date) = 2023 AND MONTH(sale_date) = 1;
Cette requête retourne également tous les enregistrements de janvier 2023.
Exemple 3 : Extraire des données en spécifiant une plage de dates
Pour obtenir des données pour la période du 1er janvier 2023 au 31 janvier 2023, utilisez la clause BETWEEN.
SELECT * FROM sales
WHERE sale_date BETWEEN '2023-01-01' AND '2023-01-31';
Cette requête récupère tous les enregistrements pour la période spécifiée.
Exemple 4 : Extraire des données agrégées sur une base mensuelle
Pour agréger des données par mois spécifique, utilisez la requête suivante :
SELECT DATE_FORMAT(sale_date, '%Y-%m') AS month, SUM(amount) AS total_sales
FROM sales
GROUP BY month
ORDER BY month;
Cette requête calcule les ventes totales pour chaque mois et retourne les données agrégées par année et mois.
Avec ces requêtes, vous pouvez extraire efficacement des données relatives à des années et des mois spécifiques. Choisissez la requête appropriée selon vos besoins.
Exemples avancés : Extraire des données pour une plage d’années et de mois
Voici quelques exemples avancés pour extraire des données pour une plage d’années et de mois. Cela permet d’analyser les données sur plusieurs mois ou années.
Exemple 1 : Extraire des données pour plusieurs mois
Par exemple, pour extraire des données de janvier 2023 à mars 2023, utilisez la requête suivante :
SELECT * FROM sales
WHERE sale_date BETWEEN '2023-01-01' AND '2023-03-31';
Cette requête récupère tous les enregistrements pour la période du 1er janvier 2023 au 31 mars 2023.
Exemple 2 : Extraire des données pour des mois spécifiques sur plusieurs années
Par exemple, pour extraire des données pour janvier de chaque année, utilisez la requête suivante :
SELECT * FROM sales
WHERE MONTH(sale_date) = 1;
Cette requête extrait tous les enregistrements qui correspondent à janvier de chaque année.
Exemple 3 : Extraire des données pour une plage dynamique
Pour extraire des données des 6 derniers mois à partir de la date actuelle en utilisant une plage dynamique, utilisez la requête suivante :
SELECT * FROM sales
WHERE sale_date >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH);
Cette requête récupère tous les enregistrements des 6 derniers mois à partir de la date actuelle.
Exemple 4 : Extraire et agréger des données pour des mois spécifiques de chaque année
Par exemple, pour extraire et agréger les ventes totales pour janvier de chaque année, utilisez la requête suivante :
SELECT YEAR(sale_date) AS year, SUM(amount) AS total_sales
FROM sales
WHERE MONTH(sale_date) = 1
GROUP BY year
ORDER BY year;
Cette requête calcule les ventes totales pour janvier de chaque année et retourne les données agrégées par année.
En utilisant ces exemples avancés, vous pouvez analyser efficacement les données sur des périodes spécifiques. Sélectionnez la requête appropriée selon vos besoins et utilisez-la pour l’analyse des données.
Conclusion
Nous avons expliqué comment extraire des données pour des années et des mois spécifiques en utilisant SQL. En utilisant les fonctions DATE et la clause WHERE, vous pouvez extraire efficacement des données pour des années, des mois et même des plages spécifiques. Nous avons également introduit des exemples avancés pour l’analyse des données sur plusieurs mois ou années. Utilisez ces techniques pour obtenir avec précision les données nécessaires et aider à l’analyse et à la création de rapports.