回答編集履歴

4

加筆修正

2017/09/04 13:00

投稿

退会済みユーザー
test CHANGED
@@ -1,10 +1,10 @@
1
- ※MySQL処理系がないので、机上の案です。
1
+ ※MySQL処理系がないので、机上の案です。webのリファレンスマニュアルを見ながら・・
2
2
 
3
3
 
4
4
 
5
5
  DATE()関数で時刻成分を削除した後、
6
6
 
7
- ADDDATE()関数にて日付を25日分引いて1月分足した後、
7
+ 日付を25日分引いて1月分足した後、
8
8
 
9
9
  MONTH()関数やYEAR()関数で月や年を抽出すればよろしいかと。
10
10
 
@@ -12,9 +12,9 @@
12
12
 
13
13
  ```sql
14
14
 
15
- select month(addate(adddate(date(created_at), interval -25 day), interval 1 month)) as "m",
15
+ select month(date(created_at) - interval 25 day + interval 1 month)) as "m",
16
16
 
17
- year(addate(adddate(date(created_at), interval -25 day), interval 1 month)) as "y"
17
+ year(date(created_at) - interval 25 day + interval 1 month)) as "y"
18
18
 
19
19
  from posts;
20
20
 

3

加筆修正

2017/09/04 13:00

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,7 @@
1
+ ※MySQL処理系がないので、机上の案です。
2
+
3
+
4
+
1
5
  DATE()関数で時刻成分を削除した後、
2
6
 
3
7
  ADDDATE()関数にて日付を25日分引いて1月分足した後、

2

加筆修正

2017/09/04 10:37

投稿

退会済みユーザー
test CHANGED
@@ -6,4 +6,12 @@
6
6
 
7
7
 
8
8
 
9
+ ```sql
10
+
9
- `select month(addate(adddate(date(created_at), interval -25 day), interval 1 month)) as "m", year(addate(adddate(date(created_at), interval -25 day), interval 1 month)) as "y" from posts;`
11
+ select month(addate(adddate(date(created_at), interval -25 day), interval 1 month)) as "m",
12
+
13
+ year(addate(adddate(date(created_at), interval -25 day), interval 1 month)) as "y"
14
+
15
+ from posts;
16
+
17
+ ```

1

加筆修正

2017/09/04 10:35

投稿

退会済みユーザー
test CHANGED
@@ -3,3 +3,7 @@
3
3
  ADDDATE()関数にて日付を25日分引いて1月分足した後、
4
4
 
5
5
  MONTH()関数やYEAR()関数で月や年を抽出すればよろしいかと。
6
+
7
+
8
+
9
+ `select month(addate(adddate(date(created_at), interval -25 day), interval 1 month)) as "m", year(addate(adddate(date(created_at), interval -25 day), interval 1 month)) as "y" from posts;`