如果我有MySQL查詢像這樣的開始日期,每週總結詞頻:獲取星期使用MySQL
SELECT
SUM(`city`),
SUM(`officers`),
SUM(`uk`),
SUM(`wednesday`),
DATE_FORMAT(`dateTime`, '%d/%m/%Y')
FROM myTable
WHERE dateTime BETWEEN '2011-09-28 18:00:00' AND '2011-10-29 18:59:00'
GROUP BY WEEK(dateTime)
由MySQL給出的結果採取列日期時間的第一個值,在這種情況下,28/09/2011恰好是星期六。
是否可以在MySQL中調整查詢以顯示一週開始的日期,即使沒有可用的數據,因此對於上述情況,2011-09-28將替換爲2011/09 /而不是26?也就是星期一開始的日期。或者,在查詢運行後以編程方式調整日期會更好嗎?
日期時間列是格式2011/10/02 12:05:00
不知道我很理解你的答案。 MySQL給了我每週GROUP BY的第一行的日期時間,並且對於結果中的每個dateTime,我使用DATE_FORMAT格式化dateTime。 –
@MrMorgan,ain表示您的查詢有邏輯錯誤。它是不確定的。 group by將會一起扔多行,但只會顯示這些行中的一行**。您選擇的非聚合字段應始終在功能上依賴於group by子句。最簡單的方法是在group by子句中重複** all **非聚合選擇。 – Johan
@Johan:你能澄清一下嗎? –