3 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以同時(shí)使用YEAR(timestamp)和和WEEK(timestamp),并在SELECT和GROUP BY子句中使用這兩個(gè)表達(dá)式。
不太優(yōu)雅,但功能...
當(dāng)然,您也可以將這兩個(gè)日期部分組合為一個(gè)表達(dá)式,例如
SELECT CONCAT(YEAR(timestamp), '/', WEEK(timestamp)), etc...
FROM ...
WHERE ..
GROUP BY CONCAT(YEAR(timestamp), '/', WEEK(timestamp))
編輯:正如馬丁指出的那樣,您也可以使用該YEARWEEK(mysqldatefield)函數(shù),盡管其輸出不如上面的較長(zhǎng)公式對(duì)眼睛友好。
編輯2 [3年半后!]:
YEARWEEK(mysqldatefield)使用可選的第二個(gè)參數(shù)(mode設(shè)置為0或2)可能是通過(guò)聚合的最佳途徑完整周(即包括了幾個(gè)星期,其跨在1月1日),如果是所需要的。YEAR() / WEEK()此答案最初提出的方法的效果是將此類“跨越”周的匯總數(shù)據(jù)分成兩部分:一個(gè)與前一年,一個(gè)與新年。
在會(huì)計(jì)等方面,通常需要每年進(jìn)行一次完整的清理,以不超過(guò)兩周的時(shí)間為代價(jià),在兩端分別花費(fèi)一個(gè)星期,因此這種YEAR() / WEEK()方法更好。
- 3 回答
- 0 關(guān)注
- 1587 瀏覽
添加回答
舉報(bào)