mysql连续聚合原理与用法实例分析
本文实例讲述了mysql连续聚合原理与用法。分享给大家供大家参考,具体如下:
连续聚合是按时间顺序对有序数据进行聚合的操作。
在下面的救示例中将使用EmpOrders表,该表用于存放每位员工每月发生的订购数量。
运行如下代码创建EmpOrders表并填充示例数据。
CREATETABLEEmpOrders( empidINTNOTNULL, ordermonthDATENOTNULL, qtyINTNOTNULL,test PRIMARYKEY(empid,ordermonth) );
查询order表和orderdetails表住EmpOrder表插入每个月的订单,sql语句如下(技巧是根据月分组)
INSERTINTOEmpOrders SELECTa.employeeid,orderdateASOrderdate,SUM(quantity)ASqty FROMordersa INNERJOINorderdetailsb ONa.orderid=b.orderid GROUPBYemployid,DATE_FORMAT(orderdate,'%Y-m');
下面给出生成示例数据的php文件
'; $insert_sql=''; for($empid=1;$empid<=8;$empid++) { for($year=2009;$year<=2015;$year++) { for($month=1;$month<=12;$month++) { $num=rand(20,800); $insert_sql.=sprintf($sql,$empid,$year,$month,$num); } $insert_sql.='
'; } } echo$insert_sql;
以下是员工订单表EmpOrder部分数据
下面根据EmpOrders表讨论3个连续聚合的问题:累积、滑动、年初至今。
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。