2016-08-23 11 views
1

過去3年間は月ごとに結果を得る必要があります。これは私が持っているものです:mysqlは年を基準としない月の番号を取得します

これは何年も働いています。しかし、私は結果を数か月、あるいは数週間から数日で得る必要があります。

私の問題は、私は私がMONTHまたはDAYとYEAR関数を置き換える場合は、これらの機能は

MONTH('2015-11-25') 

から例えば(大きな除算器と比較して)文字通り日から撮影した数

を返しますです( '2015年11月25日')MONTH( '2016年11月2日')

に等しい

11 

だから、MONTHを取得同様TIMEが取り扱う日付に、同じようsomenthingしなければならない年に1から、この場合には、一般的には月の番号を返します

MONTH_FROM_THE_BEGGINING_OF_TIMES('2016-11-02') 

は、私はどちらか私のような機能か何かを見つける...二つの方法を参照してください(2015 * 12)+ 11 = 24191

他の方法では、倍音で再生することができます。それから、三日間の間、三日間。これは、複雑ではないO(n^3)の複雑さをもたらすでしょう。

どのようなアイデアも大歓迎です。

あなたは、関数YEAR代わるものではありませ傾けるあなた

+0

私はあなたが何をしようとして理解していません。あなたは過去3年間の月ごとに何らかの集計値を取得しようとしていますか? – Jacobm001

+0

正しい。 @ビールKarwin私に答えを与えた:D – Alejandro

答えて

3

:あなたは日場合

mysql> SELECT EXTRACT(YEAR_MONTH FROM CURDATE()) AS YM; 
+--------+ 
| YM  | 
+--------+ 
| 201608 | 
+--------+ 

を、あなたはTO_DAYS()を好むかもしれない:

mysql> SELECT TO_DAYS(CURDATE()) AS days; 
+--------+ 
| days | 
+--------+ 
| 736564 | 
+--------+ 
+0

こんにちはありがとう!週にそれを行う方法はありますか? – Alejandro

+0

@Alejandro、なぜ私は 'EXTRACT()'関数のドキュメントに渡したリンクに従ってみてください! :-) –

0

をありがとう、あなただけの論理AND演算子でヶ月で結果を得るために、関数MONTH追加する必要があります。また、データを取得するためのクエリでは、グループの月にAND部分を追加する必要があります。
年を基準に月の番号を取得する唯一の方法です。あなたがMySQLのEXTRACT()機能好むかもしれない

関連する問題