Re: [SQL ] 请问计算事件发生的天数

楼主: cutekid (可爱小孩子)   2014-11-05 08:42:25
select dayCount,count(dayCount) pCount
from (
select count(uid) dayCount
from (
select uid
from yourTable
group by uid,date
) T1
group by uid
) T2
group by dayCount
※ 引述《qm29213039 (崩啾)》之铭言:
: (针对 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语法比较好?

Links booklink

Contact Us: admin [ a t ] ucptt.com