mySQL将字符串日期转换为季度

时间:2016-10-27 20:14:53

标签: mysql date

我在sql表中有几个字段,包括名称,类型和日期。在日期,它存储为字符串" 2016-05-01"格式。我想计算按季度分组的名称出现次数。

通过这个,我的意思是这个名字可以在一个月内多次出现。我想计算名称出现在3个月(季度)组中的次数,并打印每行中的名称,计数和季度。

因此,例如,如果我有列名称,类型和日期并运行查询 它可能导致

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

等等。感谢

1 个答案:

答案 0 :(得分:3)

假设my_date_column是一个日期 你可以使用quarter()

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'))
;