回答編集履歴

3

追加

2017/07/03 04:22

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -57,3 +57,33 @@
57
57
  ```
58
58
 
59
59
  働いていない週が有ると抜けてしまうのが難点です。
60
+
61
+
62
+
63
+ これの方が良いかも
64
+
65
+ ```sql
66
+
67
+ select t4.team_nam,
68
+
69
+ DATE_SUB(work_day, INTERVAL (WEEKDAY(work_day)+1) DAY) wday,
70
+
71
+ sum(t1.working_hours*t2.pay/8) AS 6月のコスト from time_sheets t1
72
+
73
+ join
74
+
75
+ daily_salary t2 on t1.member_id=t2.member_id
76
+
77
+ join
78
+
79
+ team_member t3 on t1.member_id=t3.member_id
80
+
81
+ join
82
+
83
+ team t4 on t3.team_id=t4.team_id
84
+
85
+ where t1.work_day BETWEEN '2015-06-01' AND '2015-06-31'
86
+
87
+ GROUP BY 1,2
88
+
89
+ ```

2

1週間前にしましたがどうでしょうか

2017/07/03 04:22

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  select t4.team_nam,
36
36
 
37
- DATE_ADD('2015-01-01',INTERVAL (WEEKOFYEAR(work_day)*7-(WEEKDAY('2015-01-01')+1)) DAY) wday,
37
+ DATE_ADD('2015-01-01',INTERVAL ((WEEKOFYEAR(work_day)-1)*7-(WEEKDAY('2015-01-01')+1)) DAY) wday,
38
38
 
39
39
  sum(t1.working_hours*t2.pay/8) AS 6月のコスト from time_sheets t1
40
40
 

1

修正

2017/07/03 02:20

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -25,3 +25,35 @@
25
25
  GROUP BY t4.team_id
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ さらに週にしてみました(日曜日始め)
32
+
33
+ ```sql
34
+
35
+ select t4.team_nam,
36
+
37
+ DATE_ADD('2015-01-01',INTERVAL (WEEKOFYEAR(work_day)*7-(WEEKDAY('2015-01-01')+1)) DAY) wday,
38
+
39
+ sum(t1.working_hours*t2.pay/8) AS 6月のコスト from time_sheets t1
40
+
41
+ join
42
+
43
+ daily_salary t2 on t1.member_id=t2.member_id
44
+
45
+ join
46
+
47
+ team_member t3 on t1.member_id=t3.member_id
48
+
49
+ join
50
+
51
+ team t4 on t3.team_id=t4.team_id
52
+
53
+ where t1.work_day BETWEEN '2015-06-01' AND '2015-06-31'
54
+
55
+ GROUP BY 1,2
56
+
57
+ ```
58
+
59
+ 働いていない週が有ると抜けてしまうのが難点です。