(针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
数据库名称: MySql
数据库版本:
内容/问题描述:
以下日期都是timestamp,为了方便我先改成datetime
date uid eventTime event
2014/10/01 2 2014/10/01 03:20:35 事件一
2014/10/01 2 2014/10/01 03:25:40 事件二
2014/10/02 2 2014/10/02 03:30:30 事件一
2014/10/01 3 2014/10/01 11:22:34 事件二
2014/10/03 3 2014/10/03 08:20:34 事件二
2014/10/04 3 2014/10/04 20:35:56 事件一
2014/10/03 4 2014/10/03 17:20:50 事件一
2014/10/01 5 2014/10/01 08:55:20 事件一
2014/10/05 5 2014/10/05 20:20:33 事件一
像uid 2的user,虽然他有三个事件,但是是分散在两天,所以他算是只有两天有发生事件
所以uid发生事件: uid2 -> 2天
uid3 -> 3天
uid4 -> 1天
uid5 -> 2天
以下是我想呈现在前端的样子
10月发生事件1天的人有1人
10月发生事件2天的人有2人
10月发生事件3天的人有1人
我本来是想用count(distinct date)whrer uid去算出天数
可是uid太多(约数万),所以有点卡住
想请问怎样下SQL语法比较好?