0
我有一個mysql表,其中包含'created_at'和'type'等列。我想要做的是獲得每週創建的總行數,並進一步將該數字按「類型」細分。MySQL分解組通過結果添加更多詳細信息到分組
也就是說,如果我的數據如下:
created_at | type
10/15/2015 car
10/15/2015 bike
10/16/2015 car
10/24/2015 car
10/24/2015 car
10/25/2015 car
10/26/2015 bike
我想我的查詢返回的東西,如:
Week of | Total | car | bike
10/15/2015 3 2 1
10/22/2015 4 3 1
從這個計算器的問題(How to group by week in MySQL?),我能集團按周計算,但我很難通過「類型」進一步細分結果。我得到的最接近是:
SELECT
FROM_DAYS(TO_DAYS(created_at) -MOD(TO_DAYS(created_at) -1, 7)) AS week_of,
type,
COUNT(*) AS 'rows'
FROM mytable
GROUP BY FROM_DAYS(TO_DAYS(created_at) -MOD(TO_DAYS(created_at) -1, 7)), type
ORDER BY FROM_DAYS(TO_DAYS(created_at) -MOD(TO_DAYS(created_at) -1, 7));
這是一個有點不同的,那麼什麼,我試圖讓,但它的東西,我仍然可以正常工作。但是,它不包括每週的總數(希望將所有我想要的數據返回到結果集中)。我會如何去做這件事?
因爲我不知道'類型'中的值,所以我不想直接在查詢中指定這些值,特別是因爲可以隨時間改變這些值。
在我的情況下使用一週沒有工作,因爲我的數據可以跨越年,WEEK()只出現在今年返回星期數。這與我所嘗試的類似,但沒有總結類型數量。 – Hawkeye001
我已更新答案 – scaisEdge