SQL: conteggi per fasce di valori

23 marzo 2010 - Fonte: http://www.dicesare.com

In questo articolo spiegherò come ottenere una classificazione per fasce di una serie di valori.

Una delle classificazione classiche di una lista di valori è per fasce (di prezzo, ad esempio): quanti articoli costano meno di 100 Euro? Quanti tra 100 e 200? e così via.

La soluzione migliore sarebbe di inserire la fascia già nel record da classificare, magari con un trigger. Questa però è una soluzione ’statica’, che prevede una classificazione rigida decisa a priori.

Potrebbe invece essere necessario creare una classificazione arbitraria, momentanea e non decisa a priori.

Per ottenere questi tipo di prospetto, si può usare una combinazione di GROUP BY e CASE, come nell’esempio che segue:

Leggi il seguito »

     		     

Calculate dir size recursively with PHP (and count files)

1 febbraio 2010 - Fonte: http://www.barattalo.it
This small PHP function lets you calculate the dir size entering each sub dir and making the sum of the filesize of every file contained. Returns an array of two values: size and numbers of file. The second function shows how format the size in a more readable way (with abbreviation MB, KB, GB). function dirsize($dir) [...] Related posts:
  1. Copying remote files on your server with PHP
  2. Recursive chmod on files and directory
...

Leggi il seguito »

SQL: come aggregare risultati diversi in un’unica riga di risultati

30 giugno 2009 - Fonte: http://www.dicesare.com

Come aggregare risultati diversi in un’unica riga (record) di risultati

Un amico ha sollevato questo problema: come conoscere con un’unica query quante foto ha inserito un dato utente nella tabella foto e quanti blog ha inserito lo stesso utente nella tabella blogs.

Dato che il database in uso era Access, non si potevano usare Stored Procedures, quindi il tutto andava fatto con un’unica query.

Procediamo quindi per passi successivi.

1. Per prima cosa vediamo come leggere quante foto sono state inserite (il nostro utente immaginario si chiamerà…. “Pippo”, come sempre)

SELECT COUNT(*) FROM gallerieFoto WHERE fAutore="Pippo"

il risultato della...

Leggi il seguito »

SQL: COUNT inusuali

21 febbraio 2009 - Fonte: http://www.dicesare.com

In questo articolo illustrerò alcuni modi di usare la funzione COUNT().

La funzione COUNT() viene usata per contare (appunto) quanti record ci sono in una tabella o vista, eventualmente rispondenti ad una determinata condizione.

Ad esempio potremmo voler contare quanti clienti hanno sede a Milano.

SELECT
    COUNT(*) AS qClienti
FROM
    Clienti
WHERE
   Localita='MILANO'

Potrebbe succedere però di dover riportare più conteggi; ad esempio quanti clienti hanno sede a Milano e quanti in Lombardia.

La prima soluzione che viene in mente è di eseguire due interrogazioni, con due WHERE diverse; si potrebbero anche riunire le due interrogazioni con una UNION, in questo modo:

...

Leggi il seguito »