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 num
FROM `table_record`
#group by data_time
GROUP 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

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

时间: 2024-12-28 21:37:46

Mysql 分别按月, 日为组group,进行统计排序order的相关文章

MySql按周/月/日分组统计数据的方法

知识关键词:DATE_FORMAT select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; select DATE_FORMAT(create_time,'%Y%m') month

MySql 按周/月/日统计数据的方法

知识关键词:DATE_FORMAT select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; select DATE_FORMAT(create_time,'%Y%m') month

Android DataPickerDialog组建只显示年月或月日

最近几天再做一个App开发,开发时需要使用DatePickerDialog来只显示年月,在网上参考了不少的例子,有的自己琢磨不透,所幸看到了(这里请参考http://whb198900.blog.163.com/blog/static/766453542012108111920879)这位朋友的文章以及http://download.csdn.net/detail/u010372772/6027761这里边的代码,自己又进行了总结,总之,完成了自己的任务. 1 public class Seco

mysql按周/月/年统计数据

mysql 按周/月/年统计数据分别如下 select DATE_FORMAT(UPDATE_TIME,'%Y%u') weeks,count(UPDATE_TIME) count from table_name group by weeks; select DATE_FORMAT(UPDATE_TIME,'%Y%m%d') days,count(UPDATE_TIME) count from table_name group by days; select DATE_FORMAT(UPDATE

正则表达式匹配IP和月日

匹配IP地址: egrep "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" file 思路: 250-255  200-249  1-199 月日匹配: egrep ([1-9]|1[0-2])([1-9]|[1-

DatePicker隐藏年/月/日

有时候项目中进行时间设置时,只需要设置年/或月/或日.这时候就需要对相应的部分进行隐藏. 1 DatePicker datePk = (DatePicker) findViewById(R.id.dp_date); 2 // 获取到年/月/日所在的组件群 3 ViewGroup targetGroup = (ViewGroup) ((ViewGroup) datePk.getChildAt(0)).getChildAt(0); 4 //接下来即可根据位置来隐藏年/月/日,如 5 targetGr

【原创】Js:日期处理(日期格式必须【yyyy-mm-dd】才能转成long的毫秒!其他的不是【年-月-日】的格式,结果会是【NaN】)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>test date</title> </head> <body> <script type="text/javascript"> document.write("三种获取时间戳的方式:"); document.write(

Win10显示时间月日、星期

WIN10默认和其他系统一样只显示时间,虽然用其他方法看到月日和星期,但不如直接显示直观. 在桌面-开始--排序中找到S开头里的Setting(设置) 点击"Personalization" 点击"Taskbar"(任务栏)--将"Use small taskbar buttons"(使用小的任务栏)开关关闭,小任务栏不管怎么设置都不会显示的,因为显示空间太小. 开始-控制面板 change date,time or number formats

php计算两个日期相差 年 月 日

在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等.在文章中,简单地举例介绍了PHP中如何计算两个日期相差 年.月.日. 转自: http://www.php1.cn/Content/php_JiSuanLiangGeRiQiXiangChaNianYueRi.html /**   +----------------------------------------------------------