Tecniche SQL | Analisi dei dati tramite SQL

Contenuti

Panoramica

  • SQL es un lenguaje imprescindible para cualquier persona en analisi o ciencia de datos.
  • qui c'è 8 ingeniosas técnicas de SQL para el análisis de datos con las que los profesionales de la analitico y la ciencia de datos adorarán trabajar

introduzione

SQL es un engranaje clave en el arsenal de un profesional de la ciencia de datos. Hablo por experiencia: Semplicemente no puede aspettare di forjarse una carrera exitosa in analisi o scienza di datos si aún no ha imparato SQL.

Y por qué SQL es tan importante?

A medida que avanzamos hacia una nueva década, La velocidad a la que producimos y consumimos datos se dispara giorno a giorno. Para tomar decisiones inteligentes basadas en datos, las organizaciones de todo el mundo están contratando profesionales de datos como analistas de negocios y científicos de datos para extraer y desenterrar conocimientos del vasto tesoro de datos.

Y una de las herramientas más importantes necesarias para esto es, lo adivinó, ¡SQL!

data-analysis-using-sql-8937988

El lenguaje de consulta estructurado (SQL) ha existido durante décadas. Es un lenguaje de programación utilizado para administrar los datos almacenados en bases de datos relacionales. La mayoría de las grandes empresas utilizan SQL en todo el mundo. Un analista de datos puede usar SQL para acceder, leggere, manipular y analizar los datos almacenados en una Banca dati y generar información útil para impulsar un proceso de toma de decisiones informado.

In questo articolo, Discuterò 8 técnicas / query SQL che ti prepareranno per qualsiasi problema avanzato di analisi dei dati. Si noti che questo articolo presume una conoscenza molto basilare di SQL.

Suggerirei di consultare i corsi qui sotto se sei nuovo in SQL e / o analisi aziendale:

Sommario

  1. Prima comprendiamo il set di dati
  2. Tecnica SQL n. ° 1: contare righe e elementi
  3. Tecnica SQL n. ° 2: funzioni di aggregazione
  4. Tecnica SQL # 3: Identificazione dei valori anomali
  5. Tecnica SQL n. ° 4: taglio dei dati
  6. Tecnica SQL n. ° 5: limitazione dei dati
  7. Tecnica SQL n. ° 6: classificazione dei dati
  8. Tecnica SQL n. ° 7: schemi di filtraggio
  9. Tecnica SQL n. ° 8: raggruppamenti, accumulazione di dati e filtraggio nei gruppi

Prima comprendiamo il set di dati

Qual è il modo migliore per imparare ad analizzare i dati? Facendolo fianco a fianco in un set di dati! Per questo scopo, ho creato un set di dati fittizio di un negozio al dettaglio. La tabella dei dati del cliente è rappresentata da ConsumerDetails.

Il nostro set di dati è composto dalle seguenti colonne:

  • Nome – Il nome del consumatore
  • Località – La località del cliente
  • Total_amt_spend – L'importo totale speso dal consumatore nel negozio.
  • Industria – Rappresenta l'industria a cui appartiene il consumatore

Nota: – Userò MySQL 5.7 per procedere nell'articolo. Puoi scaricarlo da qui – Download di My SQL 5.7.

0-data-6-9265872

Tecnica SQL n. ° 1: conteggio di righe ed elementi

Inizieremo la nostra analisi con la query più semplice, vale a dire, contando il numero di righe nella nostra tabella. Faremo ciò usando la funzione – CONTARE ().

1-count-4504295

Eccellente! Ora conosciamo il numero di righe nella nostra tabella, Che cos'è 10. Potrebbe sembrare divertente usare questa funzione su un piccolo set di dati di prova, ¡ma può essere molto utile quando le sue righe raggiungono milioni!

Molte volte, la nostra tabella dei dati è piena di valori duplicati. Per ottenere il valore univoco, usiamo la funzione DISTINTO.

Nel nostro set di dati, come possiamo trovare le industrie uniche a cui appartengono i clienti?

Hai indovinato bene. Possiamo farlo usando la funzione DISTINCT.

2-distinct-300x151-7977259

Può anche contare il numero di righe uniche utilizzando count insieme a DISTINCT. Puoi consultare la seguente query:

3-countdistinct-6591535

Tecnica SQL # 2 – Funzioni di aggregazione

Le funzioni di aggregazione sono la base di qualsiasi tipo di analisi dei dati. Ci forniscono una panoramica del set di dati. Alcune delle funzioni di cui parleremo sono: SOMMA (), AVG () e STDDEV ().

Usiamo il SOMMA() funzione per calcolare la somma della colonna numerica in una tabella.

Scopriamo la somma dell'importo speso da ciascuno dei clienti:

4-sum-5865741

Nell'esempio sopra, suma_todos È il variabile in cui viene memorizzato il valore della somma. La somma della quantità di denaro spesa dai consumatori è di Rs. 12.560.

Per calcolare la media delle colonne numeriche, noi usiamo il AVG () funzione. Troviamo la spesa media dei consumatori per il nostro negozio al dettaglio:

5-avg-4303079

La quantità media spesa dai clienti nel negozio al dettaglio è di Rs. 1256.

  • Calcolare la deviazione standard

Se hai esaminato il set di dati e poi il valore medio della spesa dei consumatori, avrai notato che manca qualcosa. La media non fornisce un quadro completo, quindi cerchiamo un'altra metrica importante: la deviazione standard. La funzione è STDDEV ().

6-stddev-4210362

La deviazione standard risulta essere 829,7, il che significa che c'è una grande disparità tra le spese dei consumatori.

Tecnica SQL # 3 – Identificazione dei valori anomali

Il tipo di analisi successivo è identificare i valori anomali che ti aiuteranno a comprendere meglio i dati.

Il valore numerico massimo può essere identificato tramite la funzione MAX (). Vediamo come applicarlo:

7-max-7006437

La quantità massima di denaro spesa dal consumatore nel negozio al dettaglio è di Rs. 3000.

Simile alla funzione MAX, abbiamo la funzione MIN () per identificare il valore numerico minimo in una colonna data:

8-min-2344496

La quantità minima di denaro spesa dal consumatore nel negozio al dettaglio è di Rs. 350.

Tecnica SQL n. ° 4: taglio dei dati

Ora, concentriamoci su una delle parti più importanti dell'analisi dei dati: suddivisione dei dati. Esta section del análisis formará la base para consultas avanzadas y lo ayudará a recuperar datos basados en algún tipo de condición.

  • Digamos que la tienda minorista quiere encontrar clientes que provengan de una localidad, específicamente Shakti Nagar y Shanti Vihar. ¿Cuál será la consulta para esto?

9-filter-locality-5941816

¡Geniale, avere 3 clienti! Hemos utilizado la cláusula DOVE para filtrar los dati in funzione de la condición de que los consumidores dovrebbero vivere in la localidad: Shakti Nagar y Shanti Vihar. No usé la condición OR aquí. Anziché, he usado el operador IN que nos permite specificar múltiples valores en la cláusula WHERE.

  • Necesitamos encontrar a los clientes que viven en localidades específicas (Shakti Nagar y Shanti Vihar) y gastar una cantidad mayor a Rs. 2000.

10-filter-locality2-2780627

Nel nostro set di dati, solo Shantanu e Natasha soddisfano queste condizioni. Come devono essere soddisfatte entrambe le condizioni, la condizione AND si adatta meglio qui. Vediamo un altro esempio per suddividere i nostri dati.

  • Questa volta, il negozio al dettaglio vuole recuperare tutti i consumatori che spendono tra Rs. 1000 e Rs. 2000 per promuovere offerte speciali di marketing. ¿Cuál será la consulta para esto?

11-filter-total_amt_spend-5493003

Un altro modo per scrivere la stessa dichiarazione sarebbe:

12-filter-total_amt_spend2-6211844

Solo Rohan soddisfa questo criterio!

Eccellente! Siamo arrivati a metà del nostro percorso. Costruiamo ulteriormente sulle conoscenze acquisite finora.

Tecnica SQL n. ° 5: limitazione dei dati

Diciamo che vogliamo vedere la tabella dei dati composta da milioni di record. Non possiamo usare l'istruzione SELEZIONARE direttamente poiché questo scaricherebbe l'intera tabella sul nostro schermo, il che è ingombrante e intensivo dal punto di vista computazionale. Anziché, possiamo usare il LIMITE clausola:

14-limit-4072710

Il comando SQL sopra ci aiuta a mostrare le prime 5 righe della tabella.

Cosa succede se si desidera selezionare solo la quarta e la quinta riga? Useremo la clausola OFFSET. La clausola OFFSET salterà il numero specificato di righe. Vediamo come funziona:

15-offset-with-limit-4108178

Tecnica SQL n. ° 6: classificazione dei dati

Ordinare i dati ci aiuta a mettere in prospettiva le nostre informazioni. Possiamo eseguire il processo di ordinamento usando la parola chiave – ORDINA PER.

La parola chiave può essere utilizzata per ordinare i dati in ordine crescente o decrescente. La parola chiave ORDER BY ordina i dati in ordine crescente per impostazione predefinita.

Vediamo un esempio in cui ordiniamo i dati in base alla colonna Total_amt_spend in ordine crescente:

16-sort-1-5168163

Degno di nota! Per ordinare il set di dati in ordine decrescente, possiamo usare il seguente comando:

17-sort2-2698815

Tecnica SQL # 7 – Modelli di filtraggio

Nelle sezioni precedenti, abbiamo imparato come filtrare i dati in base a una o più condizioni. Qui, impareremo a filtrare le colonne che corrispondono a un modello specifico. Per proseguire con questo, prima capiremo l'operatore LIKE e i caratteri jolly.

L'operatore LIKE viene usato in una clausola WHERE per cercare un modello specifico in una colonna.

Il carattere jolly viene utilizzato per sostituire uno o più caratteri in una stringa. Questi vengono usati insieme all'operatore LIKE. I due caratteri jolly più comuni sono:

    • %: Rappresenta 0 uno o più caratteri
    • _ – Rappresenta un singolo carattere

Nel nostro set di dati di vendita al dettaglio fittizio, diciamo che vogliamo tutti i luoghi che terminano con 'Nagar'. Prenditi un momento per comprendere l'enunciato del problema e pensa a come possiamo risolverlo.

Proviamo a risolvere il problema. Richiediamo tutti i luoghi che terminano con “Nagar” e possono avere qualsiasi numero di caratteri prima di questa particolare stringa. Perciò, possiamo fare uso del carattere jolly “%” prima “Nagar”:

18-filter_pattern1-3145307

Degno di nota, avere 6 luoghi che terminano con questo nome. Nota che stiamo usando l'operatore LIKE per effettuare il confronto dei modelli.

Prossimo, proveremo a risolvere un altro problema basato sui modelli. Vogliamo i nomi dei consumatori il cui secondo carattere è “un” nei rispettivi nomi. Ancora, le suggerisco di prendersi un momento per comprendere il problema e pensare a una logica per risolverlo.

Analizziamo il problema. Qui, il secondo carattere deve essere “un”. Il primo carattere può essere qualsiasi cosa, quindi sostituiamo questa lettera con il jolly “_”. Dopo il secondo carattere, può esserci un numero qualsiasi di caratteri, quindi sostituiamo quei caratteri con il jolly “%”. La corrispondenza del modello finale sarà così:

19-filter_pattern2-4206682

Abbiamo 6 persone che soddisfano questa strana condizione!

Tecnica SQL n. ° 8: raggruppamenti, accumulazione di dati e filtraggio nei gruppi

Finalmente siamo arrivati a uno degli strumenti di analisi più potenti in SQL: il raggruppamento dei dati che si realizza utilizzando l'istruzione RAGGRUPPA PER. L'applicazione più utile di questa dichiarazione è trovare la distribuzione delle variabili categoriche. Questo si fa usando l'istruzione GROUP BY insieme a funzioni di aggregazione come – CONTARE, SOMMA, AVG, eccetera.

Cerchiamo di capire meglio questo prendendo un enunciato del problema. Il negozio al dettaglio desidera trovare il numero di clienti corrispondenti alle industrie a cui appartengono:

20-groupby1-6562280

Osserviamo che il conteggio dei clienti appartenenti alle diverse industrie è più o meno lo stesso. Quindi, Procediamo e troviamo la somma delle spese dei clienti raggruppati per l'industria a cui appartengono:

21-groupby2-8094823

Possiamo osservare che la quantità massima di denaro spesa è dai clienti appartenenti a Produzione industria. Questo sembra un po' facile, verità? Demos un paso adelante y lo hagamos más complicado.

Ora, el minorista quiere encontrar las industrias cuyas Suma total è più grande di 2500. Risolvere questo problema, volveremos a agrupar los datos según la industria y luego usaremos la cláusula AVENTE.

La cláusula HAVING es como la cláusula WHERE pero solo para filtrar los datos agrupados. Ricordare, siempre vendrá después de la instrucción GROUP BY.

22-groupby-3-8445702

Tenemos solo 3 categorías que satisfacen las condiciones: Aviación, difendendo, e Produzione. Pero para hacerlo más claro, también agregaré la palabra clave ORDER BY para hacerlo más intuitivo:

23-groupby4-4805299

Note finali

Estoy muy contento de que hayas llegado tan lejos. Estos son los componentes básicos de todas las consultas de análisis de datos en SQL. También puede realizar consultas avanzadas utilizando estos fundamentos. In questo articolo, utilicé MySQL 5.7 para establecer los ejemplos.

Realmente espero que estas consultas SQL le ayuden en su día a día cuando esté analizando datos complejos. ¿Tiene alguno de sus consejos y trucos para analizar datos en SQL? Fatemi sapere nei commenti!!

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.

Altoparlante dati