Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql将以下格式的日期保存为月份的Varchar列的总和值_Php_Mysql_Date - Fatal编程技术网

Php Mysql将以下格式的日期保存为月份的Varchar列的总和值

Php Mysql将以下格式的日期保存为月份的Varchar列的总和值,php,mysql,date,Php,Mysql,Date,我有一个名为weekly periods(varchar)的Mysql列,列中的日期以以下格式列出startperiod Endperiod weekly_periods Amount 01/01/16 - 10/01/16 100 11/01/16 - 17/01/16 20 18/01/16 - 24/01/16 10 25/01/16 - 31/01/16 300 01/02/16 - 07/02/16 250 08/02/16 - 14/0

我有一个名为weekly periods(varchar)的Mysql列,列中的日期以以下格式列出startperiod Endperiod

weekly_periods         Amount
01/01/16 - 10/01/16    100 
11/01/16 - 17/01/16    20
18/01/16 - 24/01/16    10
25/01/16 - 31/01/16    300
01/02/16 - 07/02/16    250
08/02/16 - 14/02/16    100
对于上表中的价值和每月分组的最佳方法,您有什么想法吗

正在尝试获得以下输出

January :430    February:350
试试这个:

SELECT YEAR(STR_TO_DATE(LEFT(weekly_periods, 8), '%d/%m/%Y')) AS PeriodYear
     , MONTH(STR_TO_DATE(LEFT(weekly_periods, 8), '%d/%m/%Y')) AS PeriodMonth
     , SUM(Amount) AS TotalAmount
  FROM my_table
 GROUP BY PeriodYear, PeriodMonth;
输出:

| PeriodYear | PeriodMonth | TotalAmount | |------------|-------------|-------------| | 2016 | 1 | 430 | | 2016 | 2 | 350 | |周期年|周期月|总金额| |------------|-------------|-------------| | 2016 | 1 | 430 | | 2016 | 2 | 350 |

呻吟。。。你为什么要这样对自己?我们能假设所有的周期都在同一个月开始和结束吗?月与月之间的日期会重叠吗?比如说,是否有2016年1月15日至2016年2月10日的条目?是的,因为它基于发薪期,标准的52个发薪期。所以我试着把发薪期和最近的月份相加。每月4个周期。23/01/17-29/01/17 500 30/01/17-05/02/17 200它导致值700出现在1月份,而2月份没有出现。。你知道怎么修理吗that@user3548161我特别提到这一点。你知道这不是一个问题。是的,没错@shmosel我发现我的逻辑是错误的,在使用了一段时间后,我发现最好将数据分组,这样它就不会超过圈数。