Mysql 分别按月, 日为组group,进行统计排序order

在数据库中我们经经常使用sql语句对表进行简单的统计排序,对于日期字段。我们能够简单的对其进行order。

对于复杂一点的能够按日期中的年。月,日分别进行group,order。

按年份进行group,统计排序:

SELECT YERA(established_time)  ,COUNT(*) AS num <span style="font-size: 13.75px; font-family: Arial, Helvetica, sans-serif;">FROM `table_record` GROUP BY YEAR (established_time)</span>

按月份进行group。统计排序:

方法一:简单有用

SELECT YEAR(established_time) AS 'year' , MONTH(established_time) AS 'month' , COUNT(*) AS 'count'FROM `table_record`GROUP BY YEAR (established_time) DESC, MONTH(established_time)

效果:

year month count

------ ------ -------

2014 1 8320

2014 2 5837

2014 3 25069

2014 4 29820

2014 5 25060

2014 6 17615

2014 7 1

2013 1 9114

2013 2 4258

方法二:利用 MySql内置字符串连接函数

CONCAT(str1, str2, ...,str3) 。

SELECT  CONCAT(YEAR(established_time),',',MONTH( established_time)) AS data_time ,COUNT(*) AS numFROM `table_record`#group by data_timeGROUP BY YEAR(established_time) DESC,MONTH( established_time)

效果:

data_time

num

--------- --------

2014,1 8320

2014,2 5837

2014,3 25069

2014,4 29910

2014,5 25018

2014,6 17347

2014,7 1

2013,1 9114

2013,2 4258

2013,3 8047

注意这里不要用:

SELECT  YEAR(established_time)+MONTH( established_time) as data_time 

这是错误的,它会造成2010+1=2011的这种错误。

此外,若只用以下语句,是统计的是多年来每月的数据。

SELECT  MONTH(established_time) AS 'month' , COUNT(*) AS 'count'FROM `tb_gongshangju_record_beijing` GROUP BY  MONTH(established_time) DESC

效果例如以下:

month

count

------ --------

12 44952

11 49720

10 38587

9 48967

8 52874

7 54082

6 69532

5 76999

4 87289

3 85249

2 39997

1 49017

(NULL) 34456

按日期day进行group,统计排序

SELECT YEAR(established_time) AS 'year' , MONTH(established_time) AS 'month' ,DAY(established_time) AS 'day', COUNT(*) AS 'count'FROM `table_record`WHERE table_record.`established_time` >= '2014-01-01'GROUP BY YEAR (established_time) DESC, MONTH(established_time) DESC ,DAY(established_time) DESC
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开源商城源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值