mysql連續彙總

來源:互聯網
上載者:User

標籤:

連續彙總是按時間順序對有序資料進行彙總的操作。

在下面的救樣本中將使用EmpOrders表,該表用於存放每位員工每月發生的訂購數量。運行如下 代碼建立EmpOrders表並填充樣本資料。
CREATE TABLE EmpOrders (empid INT NOT NULL,ordermonth DATE NOT NULL,qty INT NOT NULL,testPRIMARY KEY (empid,ordermonth));
查詢order表和orderdetails表住EmpOrder表插入每個月的訂單,sql語句如下(技巧是根據月分組)
INSERT INTO EmpOrders SELECT a.employeeid,orderdate AS Order date,SUM(quantity) AS qty FROM orders aINNER JOIN orderdetails bON a.orderid=b.orderidGROUP BY employid,DATE_FORMAT(orderdate,‘%Y-m‘);

下面給出產生樣本資料的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部分資料下面根據EmpOrders表討論3個連續彙總的問題:累積、滑動、年初至今。

mysql連續彙總

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.