2016-10-27 17 views
1

名前、型、日付など、複数のフィールドがSQLテーブルにあります。今日では、文字列 "2016-05-01"形式で格納されます。私は、四半期ごとにグループ化された名前の出現回数をカウントしたいと思います。mySQLは、日付を四半期に変換します

これは、名前が月に複数回発生する可能性があることを意味します。私は、名前が3ヶ月(四半期)のグループで発生した回数を数え、各行に名前、数、四半分を表示したいと思います。例えば、私は、列名、タイプ、および日付を持っていたし、クエリ を実行した場合

は、だから、そうで

Name Quarter Count 
Ron | 1 | 62 | 
Ron | 2 | 32 | 
Ron | 3 | 45 | 
Ron | 4 | 33 | 
Tim | 1 | 62 | 
Tim | 3 | 62 | 

とにつながる可能性があります。おかげ

答えて

3

)(つまりmy_date_columnが あなたは四半期を使用することができます日付であると仮定すると、

select Name, QUARTER(my_date_column), count(*) 
frpm my_table 
group by name, QUARTER(my_date_column) 
; 

そうでなければ、日中

を文字列に変換するためにあなたが

str_to_date('2016-09-20', '%Y-%m-%d') 


select Name, QUARTER(str_to_date(my_strdate_column, '%Y-%m-%d')), count(*) 
frpm my_table 
group by name, QUARTER(str_to_date(my_strdate_column, '%Y-%m-%d')) 
; 
+0

を使用することができ、文字列を変換する必要があります「2016-09-20」のような文字列を日付形式に変換するにはどうすればよいですか? MONTH()のようなものを使用したのと同じですが、どの関数が正しい日付形式を必要とするのでしょうか? – Idontknow

+0

私はあなたが必要としている答えの希望を更新しました – scaisEdge

関連する問題