douzhi9939 2017-04-19 12:27
浏览 53
已采纳

Mysql每年每月获取行数

Im trying to find the sum of cost for each month in each year.

I have the below table 'logs'

date               |    cost
---------------------------------
Wed, 01 Aug 2016   |    45
Tue, 15 Aug 2016   |    52
Mon, 31 Aug 2016   |    23
Thu, 05 Sep 2016   |    9
Sat, 10 Sep 2016   |    33
Mon, 12 Feb 2017   |    8
Tue, 31 Feb 2017   |    0
Wed, 31 Mar 2017   |    100
Fri, 31 Mar 2017   |    35
Thu, 31 Mar 2017   |    45

This is what im trying to achive,

2017

Feb 8+0

Mar 100+35+45


2016

Aug 45+52+23

Sep 9+33


Currently im doing this,

$sqly = "SELECT DISTINCT RIGHT(date,4) as year FROM logs ORDER BY id DESC;";
$resy = mysql_query($sqly);
while($rowy = mysql_fetch_array($resy))
{
   echo $rowy['year'];
}

Result:

2017

2016

I dont know how to proceed further to get the months on each year and sum the total for each month.

  • 写回答

3条回答 默认 最新

  • dongqian9567 2017-04-19 12:52
    关注

    This query should work:

    SELECT YEAR(STR_TO_DATE(date, '%W, %d %M %Y')) AS year,
           MONTH(STR_TO_DATE(date, '%W, %d %M %Y')) AS month, 
           SUM(cost) 
    FROM logs 
    GROUP BY year, month;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试