Mysql 中,WEEK 與YEARWEEK函數的參數問題

今天碰到一個問題,說在 mysql 裏面, 要按周統計, 周的計算,是從 每週一到週日。mysql

 

簡單了寫了下sql

SELECT
  WEEK (  date  )
  SUM  (  sale  )
FROM
  表
GROUP BY
  WEEK(  date  );
函數

發現 默認狀況下, 這個 WEEK ( 日期 )  是 每把週日,做爲一週的開始。date

 

去查詢了一下手冊,看到這個 WEEK 函數, 還能夠額外再跟一個 參數。統計

這個參數決定了, 使用星期幾,來做爲 一週的開始。查詢

以及用什麼樣的邏輯,來計算 一年裏面, 第一週的計算方式。手冊

 

這個參數的描述以下:參數

參數值日期

每週第一天

是星期幾

返回值

範圍

第一週是怎麼計算的?

0

星期天

0-53

遇到本年的第一個星期天開始,是第一週。

前面的計算爲第0周。

1

星期一

0-53

假如第一週能超過3天,那麼計算爲本年的第一週。不然爲第0周

能夠理解爲

若是1月1號~4號是星期一,那麼本年第一週開始。(以前的是第零周)

若是1月5號之後是星期一,那麼如今開始,是本年的第二週了,以前的是第一週。

2

星期天

1-53

遇到本年的第一個星期天開始,是第一週。

前面的計算爲上年度的第5x周。

3

星期一

1-53

假如第一週能超過3天,那麼計算爲本年的第一週。不然爲上年度的第5x周。

能夠理解爲

若是1月1號~4號是星期一,那麼本年第一週開始。(以前的是第5x周)

若是1月5號之後是星期一,那麼如今開始,是本年的第二週了,以前的是第一週。

4

星期天

0-53

假如第一週能超過3天,那麼計算爲本年的第一週。不然爲第0周

能夠理解爲

若是1月1號~4號是星期天,那麼本年第一週開始。(以前的是第零周)

若是1月5號之後是星期天,那麼如今開始,是本年的第二週了,以前的是第一週。

5

星期一

0-53

遇到本年的第一個星期一開始,是第一週。

前面的計算爲第0周。

6

星期天

1-53

假如第一週能超過3天,那麼計算爲本年的第一週。不然爲上年度的第5x周。

能夠理解爲

若是1月1號~4號是星期天,那麼本年第一週開始。(以前的是第5x周)

若是1月5號之後是星期天,那麼如今開始,是本年的第二週了,以前的是第一週。

7

星期一

1-53

遇到本年的第一個星期一開始,是第一週。

前面的計算爲上年度的第5x周。

相關文章
相關標籤/搜索