MySql如何按时间段来分组
1,按半小时分组就是将半小时内的时间划为一组。
使用GROUP BY子句按时间和维度进行分组。这将确保我们的计数是基于每个时间和维度组合的。 执行查询,将返回结果按照时间和维度组合的方式进行分组,并显示每个组合的总数。
用 DATE_FORMAT 函数就可以了.格式化以后的结果里面, 仅仅包含 年月日时 这4个部分即可.然后就可以 Group By 了。下面是 DATE_FORMAT 函数的例子与说明。
SELECT DATE_FORMAT(time,%Y-%m-%d) as day, sum(case when amount0 then amount when amount=0 then 0 end) as amount1 from table where time=2014-11-01 group by day;我没有测试。
mysql按时间分段查询
一般可以针对记录时间的字段进行筛选获取一段时间的记录。
建议把time字段转为字符串后用substr函数截取到小时,然后group by。
你要给字段名出来啊,比如,你要查的字段名,你的时间字段名。
你数据库就不该这样建,不应该使用两个字段,应该使用一个字段,类型可以是DATETIME,或者TIMESTAMP,下面是这两个类型的含义:DATETIME类型用在你需要同时包含日期和时间信息的值时。
如果数据类型是 DATE , 那就彻底没办法了:注:MySQL 日期时间数据类型 DATE 日期。支持的范围为’1000-01-01’到’9999-12-31’。MySQL以’YYYY-MM-DD’格式显示DATE值,但允许使用字符串或数字为DATE列分配值。
建议分时间段建立物理表,例如每个月的数据保存在一个物理表中,然后通过写程序控制选择要查询的数据,这样就把数据库服务器的压力转到应用服务器上了。
mysql时间段分组统计查询问题
用 DATE_FORMAT 函数就可以了.格式化以后的结果里面, 仅仅包含 年月日时 这4个部分即可.然后就可以 Group By 了。下面是 DATE_FORMAT 函数的例子与说明。
时间段统计,可以采用 hour(subscribe_time) 取出小时然后分层。
as day, sum(case when amount0 then amount when amount=0 then 0 end) as amount1 from table where time=2014-11-01 group by day;我没有测试。time表示日期,amount表示数量。
1,按半小时分组就是将半小时内的时间划为一组。