2011-04-10 5 views
2

je la table MySql suivante - user_actions: id - int user_id - int horodatage - datetime action - intgroupe par 2 colonnes et compter

un exemple de données:

1|5|01.01.2011 21:00:00|1 
2|5|01.01.2011 21:00:00|3 
3|6|01.01.2011 21:00:00|5 
3|6|01.02.2011 21:00:00|5 

I voulez compter le nombre d'utilisateurs qui ont effectué une action chaque jour (peu importe le nombre d'actions), dans l'exemple ci-dessus, la sortie doit être:

01.01.2011|2 
01.02.2011|1 
  • sens 2 utilisateurs ont fait des actions dans 01.01.2011 et un utilisateur 01.02.2011

toute pensée?

Répondre

2
SELECT count(DISTINCT user_id) 
    , DATE_FORMAT(timestamp, '%Y-%m-%d') 
    from table 
group by DATE_FORMAT(timestamp, '%Y-%m-%d') 
+0

pas bon ... Je reçois 2 lignes pour la première date (01.01.2011) au lieu d'un – Ran

+0

j'ai requête mis à jour. J'ai mal compris votre question. J'espère que maintenant c'est correct. – Marcin

+0

cela fonctionne, merci! – Ran

Questions connexes