2011-09-20 5 views
0

J'ai une table de données qui contient les colonnes suivantes: id (chaîne), date (date), alerte (0 ou 1).SQL: requêtes pour effectuer des calculs statistiques

Certaines données de l'échantillon:

case001  2011-06-18 8:27:00  0 
case002  2011-06-18 16:30:00 1 
case003  2011-06-19 7:24:00  0 
... 
case150  2011-10-23 22:05:00 1 
case151  2011-10-24 11:45:00 1 
case152  2011-10-24 16:55:00 0 
case153  2011-10-24 20:13:00 0 
... 

Je veux être en mesure d'écrire quelques requêtes SQL pour calculer le nombre d'alertes par jour (où 1 représente une alerte, 0 représente aucune alerte) ainsi que le nombre d'alertes par id par jour.

Des idées?

Merci!

+0

Quelle SGBDR utilisez-vous? Les fonctions de date ont tendance à varier en fonction de la mise en œuvre. –

+0

@Ed Harper: Désolé, j'ai omis ceci: J'utilise une base de données MySQL. – spookymodem

Répondre

0

Cela dépend de la base de données que vous utilisez.

Dans Oracle, vous pouvez utiliser la fonction trunc tronquer à un jour (ou mois, etc.)

SELECT TRUNC(date, 'dd'), SUM(alert) 
FROM alerts 
GROUP BY TRUNC(date, 'dd') 

MySQL vous devez utiliser

GROUP BY DATE(date) 
Questions connexes