mysql連續(xù)聚合原理與用法實例分析
本文實例講述了mysql連續(xù)聚合原理與用法。分享給大家供大家參考,具體如下:
連續(xù)聚合是按時間順序?qū)τ行驍?shù)據(jù)進行聚合的操作。
在下面的救示例中將使用EmpOrders表,該表用于存放每位員工每月發(fā)生的訂購數(shù)量。
運行如下 代碼創(chuàng)建EmpOrders表并填充示例數(shù)據(jù)。
CREATE TABLE EmpOrders ( empid INT NOT NULL, ordermonth DATE NOT NULL, qty INT NOT NULL,test PRIMARY KEY (empid,ordermonth) );
查詢order表和orderdetails表住EmpOrder表插入每個月的訂單,sql語句如下(技巧是根據(jù)月分組)
INSERT INTO EmpOrders SELECT a.employeeid,orderdate AS Order date,SUM(quantity) AS qty FROM orders a INNER JOIN orderdetails b ON a.orderid=b.orderid GROUP BY employid,DATE_FORMAT(orderdate,'%Y-m');
下面給出生成示例數(shù)據(jù)的php文件
<?php
$sql = "INSERT INTO emporders SELECT %s,'%s-%02d-01',%s;".'<br />';
$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 .= '<br />';
}
}
echo $insert_sql;
以下是員工訂單表EmpOrder部分?jǐn)?shù)據(jù)

下面根據(jù)EmpOrders表討論3個連續(xù)聚合的問題:累積、滑動、年初至今。
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
相關(guān)文章
Mysql表數(shù)據(jù)比較大情況下修改添加字段的方法實例
最近遇到的一個問題,需要在一張1800萬數(shù)據(jù)量的表中添加加一個字段,所以這篇文章主要給大家介紹了關(guān)于Mysql表數(shù)據(jù)比較大情況下修改添加字段的方法,需要的朋友可以參考下2022-06-06
MySQL學(xué)習(xí)筆記5:修改表(alter table)
我們在創(chuàng)建表的過程中難免會考慮不周,因此后期會修改表修改表需要用到alter table修改表語句,接下來詳細介紹,需要的朋友可以參考下2013-01-01
MySQL性能參數(shù)詳解之Max_connect_errors 使用介紹
這篇文章主要介紹了MySQL性能參數(shù)詳解之Max_connect_errors 使用介紹,需要的朋友可以參考下2016-05-05
MySQL通過日志恢復(fù)數(shù)據(jù)的操作步驟
在MySQL中恢復(fù)誤刪除的數(shù)據(jù)是一個常見但復(fù)雜的問題,具體的方法取決于幾個因素,包括您是否有備份、使用的是哪種存儲引擎(如InnoDB或MyISAM)、以及您的數(shù)據(jù)庫配置等,本文給大家介紹了MySQL通過日志恢復(fù)數(shù)據(jù)的操作步驟,需要的朋友可以參考下2024-12-12

