是否有可能从mysql获得记录,例如1月至3月(2019),4月至6月(2018)下表等

时间:2019-04-12 06:22:58

标签: php mysql

我有一张桌子,想获取记录,例如1月至3月(2019),4月至6月(2018)等

SELECT GROUP_CONCAT(month,' to ',month,' (',year,')') AS quater_list 
FROM month_year GROUP BY month;

enter image description here

预计应该是1月至3月(2019),4月至6月(2018)...等等

1 个答案:

答案 0 :(得分:1)

这是您要查找的查询

SELECT CONCAT(MONTHNAME(STR_TO_DATE(MIN(number1), '%m')),' to ',MONTHNAME(STR_TO_DATE(MAX(number1), '%m')),' (',MAX(YEAR),')') temp,
CONCAT(YEAR,'-',number1,'-','01') temp1,
QUARTER(CONCAT(YEAR,'-',number1,'-','01')) qtr 
FROM new_table
GROUP BY qtr

STR_TO_DATE-这是DATE_FORMAT()函数的反函数。它需要一个字符串str和一个格式字符串。

语法

mysql> SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y');
        -> '2013-05-01'

MONTHNAME-返回日期月份的全名。名称使用的语言由lc_time_names系统变量(Section 10.15, “MySQL Server Locale Support”)的值控制。

QUARTER-返回日期的季度,范围为1到4。

语法:

mysql> SELECT QUARTER('2008-04-01');
        -> 2