私は、時間単位のエントリをデータベースに照会して、会社ごとと週ごとに集計しています。 MySQLの週機能はカレンダーの週に基づいていることを理解しています。それは、私はいくつかの予期しないグループ化の結果を得ていると言われています。おそらく、あなたの鋭い目人々が手を貸すことができます。以下のようにMySQLの週機能予期しない結果
SELECT * FROM (
SELECT
tms.date,
SUM(IF(tms.skf_group = "HP Group", tms.hours, 0000.00)) as HPHours,
SUM(IF(tms.skf_group = "SKF Canada", tms.hours, 000.00)) as SKFHours
FROM time_management_system tms
WHERE date >= "2012-01-01"
AND date <= "2012-05-11"
AND tms.skf_group IN ("HP Group", "SKF Canada")
GROUP BY WEEK(tms.date, 7)
# ORDER BY tms.date DESC
# LIMIT 7
) AS T1
ORDER BY date ASC
は私の結果は以下のとおりです(時折私たちは例えば日曜日にエントリを持っていないnull値は重要でください。?)
('date'=>'2012-01-01','HPHours'=>'0.00','SKFHours'=>'2.50'),
('date'=>'2012-01-02','HPHours'=>'97.00','SKFHours'=>'78.75'),
('date'=>'2012-01-09','HPHours'=>'86.50','SKFHours'=>'100.00'),
('date'=>'2012-01-16','HPHours'=>'68.00','SKFHours'=>'96.25'),
('date'=>'2012-01-24','HPHours'=>'39.00','SKFHours'=>'99.50'),
('date'=>'2012-02-05','HPHours'=>'3.00','SKFHours'=>'93.00'),
('date'=>'2012-02-06','HPHours'=>'12.00','SKFHours'=>'122.50'),
('date'=>'2012-02-13','HPHours'=>'64.75','SKFHours'=>'117.50'),
('date'=>'2012-02-21','HPHours'=>'64.50','SKFHours'=>'93.00'),
('date'=>'2012-03-02','HPHours'=>'45.50','SKFHours'=>'143.25'),
('date'=>'2012-03-05','HPHours'=>'62.00','SKFHours'=>'136.75'),
('date'=>'2012-03-12','HPHours'=>'54.25','SKFHours'=>'133.00'),
('date'=>'2012-03-19','HPHours'=>'77.75','SKFHours'=>'130.75'),
('date'=>'2012-03-26','HPHours'=>'61.00','SKFHours'=>'147.00'),
('date'=>'2012-04-02','HPHours'=>'86.75','SKFHours'=>'96.75'),
('date'=>'2012-04-09','HPHours'=>'84.25','SKFHours'=>'120.50'),
('date'=>'2012-04-16','HPHours'=>'90.00','SKFHours'=>'127.25'),
('date'=>'2012-04-23','HPHours'=>'103.25','SKFHours'=>'89.50'),
('date'=>'2012-05-02','HPHours'=>'72.50','SKFHours'=>'143.75'),
('date'=>'2012-05-07','HPHours'=>'68.25','SKFHours'=>'119.00')
1月2日は最初の月曜日なので、1月1日は唯一の日です。私は出力が月曜日(1月2日月曜日、9月、16日、23日、30日など)に連続することを期待していますか?以下の予期しない週のグループ分けは、結果全体を通じて続きます。何か案は?
ありがとうございました!
AAAND ...のように平日でグループ化したいと思います!大変感謝しています。 – Andrew