今天有个朋友正好找我问他的需求,需要查询按小时分组访问系统的用户人数,需要根据用户id去重,所以想了下写了下面这条sql
/**时间截取主要是 DATE_FORMAT 函数 %Y%m%d%H 是最终我们需要截取的数据, 也是查询结果的格式*/ SELECT count(DISTINCT(t.user_id)) total, DATE_FORMAT(t.create_time,'%Y%m%d%H') create_time FROM t_xxxx t GROUP BY create_time ;
如果是按照年来分组的话就用如下sql就行,月日时分以次类推
SELECT count(DISTINCT(t.user_id)) total, DATE_FORMAT(t.create_time,'%Y') create_time FROM t_xxxx t GROUP BY create_time ;