Come estrarre dati con SQL per anni e mesi specifici

Scopri come estrarre dati basati su anni e mesi specifici utilizzando SQL. Questo metodo facilita l’analisi dei dati per mesi o anni particolari. Spiegheremo come recuperare dati in modo efficiente utilizzando le funzioni DATE di SQL e altre funzioni utili.

Indice

Configurazione del database

Per prima cosa, configuriamo il database e le tabelle. Di seguito è riportato uno script SQL per creare una tabella con dati di esempio.

Creazione del database

Crea un database. Se hai già un database, puoi saltare questo passaggio.

CREATE DATABASE sample_db;
USE sample_db;

Creazione della tabella

Successivamente, crea una tabella per memorizzare i dati. Qui, usiamo una tabella chiamata sales come esempio.

CREATE TABLE sales (
    id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(100),
    amount DECIMAL(10, 2),
    sale_date DATE
);

Inserimento di dati di esempio

Infine, inserisci dati di esempio nella tabella. Questo prepara i dati per gli esempi di query successivi.

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');

Scrivere query SQL di base

Comprendere la struttura delle query SQL di base è il primo passo per estrarre dati per anni e mesi specifici. Qui, spieghiamo come scrivere istruzioni SELECT di base.

Basi delle istruzioni SELECT

L’istruzione SELECT è un comando SQL utilizzato per recuperare dati da un database. Di seguito è riportato un esempio di query di base per ottenere tutti i dati dalla tabella sales.

SELECT * FROM sales;

Selezionare colonne specifiche

È anche possibile selezionare solo colonne specifiche invece di tutte le colonne nella tabella. Ad esempio, la query per selezionare le colonne product_name e amount è la seguente:

SELECT product_name, amount FROM sales;

Utilizzare la clausola WHERE per specificare condizioni

La clausola WHERE consente di estrarre solo i dati che soddisfano determinate condizioni. Ad esempio, la query per ottenere dati in cui l’amount è pari o superiore a 200 è la seguente:

SELECT * FROM sales WHERE amount >= 200;

Comprendendo queste basi, diventa più facile capire le query per estrarre dati per anni e mesi specifici.

Utilizzo delle funzioni DATE per specificare anni e mesi specifici

Per estrarre dati per anni e mesi specifici, utilizza le funzioni DATE di SQL. Qui, spieghiamo l’uso di base delle funzioni DATE.

Utilizzo della funzione DATE_FORMAT

La funzione DATE_FORMAT consente di cambiare il formato di una data. Questa funzione viene utilizzata per estrarre anni o mesi specifici.

SELECT * FROM sales 
WHERE DATE_FORMAT(sale_date, '%Y-%m') = '2023-01';

Questa query recupera tutti i record in cui la sale_date è a gennaio 2023.

Utilizzo delle funzioni YEAR e MONTH

Le funzioni YEAR e MONTH consentono di estrarre la parte dell’anno o del mese di una data.

SELECT * FROM sales 
WHERE YEAR(sale_date) = 2023 AND MONTH(sale_date) = 1;

Questa query recupera anche i record per gennaio 2023.

Utilizzo della clausola BETWEEN

Puoi anche utilizzare la clausola BETWEEN per specificare un intervallo di anni e mesi specifici.

SELECT * FROM sales 
WHERE sale_date BETWEEN '2023-01-01' AND '2023-01-31';

Questa query estrae i dati per il periodo dal 1 gennaio 2023 al 31 gennaio 2023.

Utilizzando questi metodi, puoi estrarre efficacemente i dati basati su anni e mesi specifici.

Esempi di query effettive

Qui, forniamo esempi specifici di query SQL per estrarre dati per anni e mesi specifici.

Esempio 1: Estrarre dati per un anno e un mese specifici

Ad esempio, per ottenere dati di vendita per gennaio 2023, utilizza la seguente query:

SELECT * FROM sales 
WHERE DATE_FORMAT(sale_date, '%Y-%m') = '2023-01';

Questa query restituisce tutti i record in cui sale_date corrisponde a gennaio 2023.

Esempio 2: Estrarre dati specificando l’anno e il mese separatamente

Allo stesso modo, utilizza le funzioni YEAR e MONTH per estrarre dati per gennaio 2023.

SELECT * FROM sales 
WHERE YEAR(sale_date) = 2023 AND MONTH(sale_date) = 1;

Questa query restituisce anche tutti i record per gennaio 2023.

Esempio 3: Estrarre dati specificando un intervallo di date

Per ottenere dati per il periodo dal 1 gennaio 2023 al 31 gennaio 2023, utilizza la clausola BETWEEN.

SELECT * FROM sales 
WHERE sale_date BETWEEN '2023-01-01' AND '2023-01-31';

Questa query recupera tutti i record per il periodo specificato.

Esempio 4: Estrarre dati aggregati su base mensile

Per aggregare i dati per mesi specifici, utilizza la seguente query:

SELECT DATE_FORMAT(sale_date, '%Y-%m') AS month, SUM(amount) AS total_sales
FROM sales
GROUP BY month
ORDER BY month;

Questa query calcola le vendite totali per ciascun mese e restituisce i dati aggregati per anno e mese.

Con queste query, puoi estrarre efficacemente i dati relativi ad anni e mesi specifici. Scegli la query appropriata in base alle tue esigenze.

Esempi avanzati: estrarre dati per un intervallo di anni e mesi

Qui sono presenti alcuni esempi avanzati per estrarre dati per un intervallo di anni e mesi. Questo consente l’analisi dei dati su più mesi o anni.

Esempio 1: Estrarre dati per più mesi

Ad esempio, per estrarre dati da gennaio 2023 a marzo 2023, utilizza la seguente query:

SELECT * FROM sales 
WHERE sale_date BETWEEN '2023-01-01' AND '2023-03-31';

Questa query recupera tutti i record per il periodo dal 1 gennaio 2023 al 31 marzo 2023.

Esempio 2: Estrarre dati per mesi specifici su più anni

Ad esempio, per estrarre dati per gennaio di ogni anno, utilizza la seguente query:

SELECT * FROM sales 
WHERE MONTH(sale_date) = 1;

Questa query estrae tutti i record che corrispondono a gennaio di qualsiasi anno.

Esempio 3: Estrarre dati per un intervallo dinamico

Per estrarre dati per gli ultimi 6 mesi dalla data corrente utilizzando un intervallo dinamico, utilizza la seguente query:

SELECT * FROM sales 
WHERE sale_date >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH);

Questa query recupera tutti i record per gli ultimi 6 mesi dalla data corrente.

Esempio 4: Estrarre e aggregare dati per mesi specifici di ogni anno

Ad esempio, per estrarre e aggregare le vendite totali per gennaio di ogni anno, utilizza la seguente query:

SELECT YEAR(sale_date) AS year, SUM(amount) AS total_sales
FROM sales
WHERE MONTH(sale_date) = 1
GROUP BY year
ORDER BY year;

Questa query calcola le vendite totali per gennaio di ogni anno e restituisce i dati aggregati per anno.

Utilizzando questi esempi avanzati, puoi analizzare i dati in modo efficiente su periodi specifici. Seleziona la query appropriata secondo le tue necessità e utilizzala per l’analisi dei dati.

Conclusione

Abbiamo spiegato come estrarre dati per anni e mesi specifici utilizzando SQL. Utilizzando le funzioni DATE e la clausola WHERE, puoi estrarre efficacemente dati per anni, mesi e persino intervalli specifici. Abbiamo anche introdotto esempi avanzati per l’analisi dei dati su più mesi o anni. Utilizza queste tecniche per ottenere accuratamente i dati necessari e aiutare nell’analisi dei dati e nella creazione di report.

Indice