回答編集履歴
2
追記
answer
CHANGED
@@ -14,4 +14,15 @@
|
|
14
14
|
|
15
15
|
login_flag=(0,1,null)という値の範囲なら、
|
16
16
|
** sum(login_flag) AS login_count **
|
17
|
-
でもいいですね。
|
17
|
+
でもいいですね。
|
18
|
+
|
19
|
+
追記
|
20
|
+
```SQL
|
21
|
+
SELECT DATE_FORMAT(res.rest_date, '%Y-%m') AS time
|
22
|
+
, COUNT(*) AS count
|
23
|
+
, COUNT(res.login_flag) AS login_count
|
24
|
+
, COUNT(fix.id) AS spare_count
|
25
|
+
FROM res left join fix on res.id=fix.id
|
26
|
+
GROUP BY DATE_FORMAT(res.rest_date, '%Y-%m')
|
27
|
+
;
|
28
|
+
```
|
1
推敲
answer
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
まとめて取得ってこういう事?
|
2
|
+
※count()で数えられるのはNull以外なのでそれを利用する。
|
2
3
|
```SQL
|
3
4
|
SELECT DATE_FORMAT(rest_date, '%Y-%m') AS time
|
4
5
|
, COUNT(*) AS count
|
@@ -7,8 +8,6 @@
|
|
7
8
|
GROUP BY DATE_FORMAT(rest_date, '%Y-%m')
|
8
9
|
;
|
9
10
|
```
|
10
|
-
count()で数えられるのはNull以外なのでそれを利用する。
|
11
|
-
|
12
11
|
もし、login_flag=1の時だけという場合は、
|
13
12
|
** sum(case when login_flag=1 then 1 end) AS login_count **
|
14
13
|
などとします。
|