十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
假设你的表为 ta 日期字段是 dt
保靖网站建设公司创新互联公司,保靖网站设计制作,有大型网站制作公司丰富经验。已为保靖千余家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的保靖做网站的公司定做!
那么,以 2015-01-01为起始日,每5天累总计数为:
select datediff(dt, '2015-01-01') div 5 as d5 , count(*)
from ta
group by (datediff(dt, '2015-01-01') div 5)
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;
我没有测试。time表示日期,amount表示数量。查询11月后每天成交数量
SELECT uptime, CASE WHEN datepart(hour,uptime) IN (0,1) THEN 1
WHEN datepart(hour,uptime) IN (2,3) THEN 2
WHEN datepart(hour,uptime) IN (4,5) THEN 3
WHEN datepart(hour,uptime) IN (6,7) THEN 4
WHEN datepart(hour,uptime) IN (8,9) THEN 5
WHEN datepart(hour,uptime) IN (10,11) THEN 6
WHEN datepart(hour,uptime) IN (12,13) THEN 7
WHEN datepart(hour,uptime) IN (14,15) THEN 8
WHEN datepart(hour,uptime) IN (16,17) THEN 9
WHEN datepart(hour,uptime) IN (18,19) THEN 10
WHEN datepart(hour,uptime) IN (20,21) THEN 11
WHEN datepart(hour,uptime) IN (22,23) THEN 12
ELSE 0 END AS sq
FROM bak_dircost0901
-------------------------------
uptime sq
2014/8/19 9:20:59 5
2014/8/22 20:31:20 11
2014/8/22 20:33:08 11
2014/8/26 13:48:01 7
2014/8/27 16:10:45 9
在开发中遇到如下问题:现地的OPC采集数据的频率是5分钟一次,通过数据同步的方式同步到业务库,以图表的形式展示给业务人员。因为数据量较大,把每一条数据都展示出来导致页面数据太多。业务人员提出按每半小时取一条数据,各项指标取这半小时内的平均值。
原数据展示
1,按半小时分组就是将半小时内的时间划为一组。即2020-05-01 00:00 --2020-05-01 00:25 这些数据将被分到2020-05-01 00:00 这一组
2,先利用UNIX_TIMESTAMP函数将tm字段转化成秒,其表示从1970-01-01 00:00:00到tm所经历的秒数,对其做半小时的向下取整,最后再做Group by。
1800秒:半小时
floor(t.tm/1800) : 对于半小时的个数做向下取整
floor(t.tm/1800) * 1800: 取得整半小时的时间
3,对具体的监测值再做处理。我这里只要对这个时间段内的取平均数就行了。经过调整,达到业务人员的需求。