回答編集履歴

5

変更

2017/08/29 19:16

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -1,22 +1,24 @@
1
+ SVC34様のご指摘の通り間違っておりましたので修正いたしました。ご指摘大変ありがとうございます。
2
+
1
3
  1レコードに全店1日分の入っているレコードだとして、平均を3ラインで出力
2
4
 
3
5
  ```sql
4
6
 
5
7
  (SELECT ' 3日売上平均' 日数, AVG(`A店売上`) A店, AVG(`B店売上`) B店, AVG(`C店売上`) C店, AVG(`D店売上`) D店, AVG(`E店売上`) E店, AVG(`F店売上`) F店
6
8
 
7
- FROM `売上一覧` ORDER BY id DESC LIMIT 3)
9
+ FROM (SELECT * FROM `売上一覧` ORDER BY id DESC LIMIT 3) TB)
8
10
 
9
11
  UNION ALL
10
12
 
11
13
  (SELECT ' 7日売上平均' 日数, AVG(`A店売上`), AVG(`B店売上`), AVG(`C店売上`), AVG(`D店売上`), AVG(`E店売上`), AVG(`F店売上`)
12
14
 
13
- FROM `売上一覧` ORDER BY id DESC LIMIT 7)
15
+ FROM (SELECT * FROM `売上一覧` ORDER BY id DESC LIMIT 7) TB)
14
16
 
15
17
  UNION ALL
16
18
 
17
19
  (SELECT '30日売上平均' 日数, AVG(`A店売上`), AVG(`B店売上`), AVG(`C店売上`), AVG(`D店売上`), AVG(`E店売上`), AVG(`F店売上`)
18
20
 
19
- FROM `売上一覧` ORDER BY id DESC LIMIT 30)
21
+ FROM (SELECT * FROM `売上一覧` ORDER BY id DESC LIMIT 30) TB)
20
22
 
21
23
  ORDER BY 1;
22
24
 

4

変更

2017/08/29 19:15

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -1,3 +1,35 @@
1
+ 1レコードに全店1日分の入っているレコードだとして、平均を3ラインで出力
2
+
3
+ ```sql
4
+
5
+ (SELECT ' 3日売上平均' 日数, AVG(`A店売上`) A店, AVG(`B店売上`) B店, AVG(`C店売上`) C店, AVG(`D店売上`) D店, AVG(`E店売上`) E店, AVG(`F店売上`) F店
6
+
7
+ FROM `売上一覧` ORDER BY id DESC LIMIT 3)
8
+
9
+ UNION ALL
10
+
11
+ (SELECT ' 7日売上平均' 日数, AVG(`A店売上`), AVG(`B店売上`), AVG(`C店売上`), AVG(`D店売上`), AVG(`E店売上`), AVG(`F店売上`)
12
+
13
+ FROM `売上一覧` ORDER BY id DESC LIMIT 7)
14
+
15
+ UNION ALL
16
+
17
+ (SELECT '30日売上平均' 日数, AVG(`A店売上`), AVG(`B店売上`), AVG(`C店売上`), AVG(`D店売上`), AVG(`E店売上`), AVG(`F店売上`)
18
+
19
+ FROM `売上一覧` ORDER BY id DESC LIMIT 30)
20
+
21
+ ORDER BY 1;
22
+
23
+ ```
24
+
25
+ .
26
+
27
+ .
28
+
29
+ .
30
+
31
+
32
+
1
33
  売上一覧のテーブルを仮想定して作成してみました。 最新3日のみですが、後はintervalを変更するのはどうでしょうか。
2
34
 
3
35
  ```sql

3

変更

2017/08/28 15:34

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  FROM `売上一覧` WHERE
22
22
 
23
- `売上日` BETWEEN SUBDATE((SELECT MAX(`売上日`) FROM `売上一覧`),2) AND (SELECT MAX(`売上日`) FROM `売上一覧`)
23
+ `売上日` BETWEEN SUBDATE((SELECT MAX(`売上日`) FROM `売上一覧`),3 - 1) AND (SELECT MAX(`売上日`) FROM `売上一覧`)
24
24
 
25
25
  ) t1
26
26
 

2

変更

2017/08/27 08:01

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
File without changes

1

変更

2017/08/27 07:58

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  FROM `売上一覧` WHERE
22
22
 
23
- `売上日` BETWEEN SUBDATE((SELECT MAX(`売上日`) FROM `売上一覧`),3) AND (SELECT MAX(`売上日`) FROM `売上一覧`)
23
+ `売上日` BETWEEN SUBDATE((SELECT MAX(`売上日`) FROM `売上一覧`),2) AND (SELECT MAX(`売上日`) FROM `売上一覧`)
24
24
 
25
25
  ) t1
26
26