Nel linguaggio SQL per contare i records che soddisfano una condizione data si utilizza count. Ad esempio:
SELECT count(c.itemid) AS "Num." , c."Country" AS codec FROM contactsdownloads INNER JOIN contacts AS c ON (itemidcontacts) = c.itemid GROUP BY codec HAVING count (c.itemid) > 10
Nella query seguente viene effettuata la somma e il count a partire non da una tabella ma da un’altra query.
Questo consente di ottenere un count su due livelli di ragruppamento.
In pratica si effettua un primo raggruppamento dei records che ritornerà il primo conteggio quindi si elaboreranno questi dati con un secondo livello di raggruppamento. Qui si effetturà un nuovo count e si opererà la somma dei dati del primo count.
SELECT nameprd AS "Name Product" , sum(conta) AS "files downloaded", count (itemidcontacts) AS "N.Users" FROM (SELECT nameprd , count (itemid) AS conta, itemidcontacts FROM contactsdownloads WHERE createddate > '01-01-2007' GROUP BY nameprd, itemidcontacts ORDER BY conta DESC ) AS DL GROUP BY nameprd ORDER BY sum(conta) DESC;
Resources:
SQL – PostgreSQL
Postgresql
- Postgresql reset sequence ;
- postgresql check if table exist ;
- How escape single quote ‘ in postgresql ;
- SQL Concatenare due o più campi – String Concatenation ;
- Postgresql cancella record duplicati ;
- postgresql Elencare i campi di una tabella ;
- PostgreSQL CREATE TEMPORARY TABLE ;
- Postgresql Comandi utili ;
Plpgsql
Annunci