group by按照月份分组

Posted 锦大大的博客呀!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了group by按照月份分组相关的知识,希望对你有一定的参考价值。

一、group by分组函数大家很熟悉,就是按照某一列进行分组排序。但是很多时候分组排序的时候,我们需要按照日或者月或者年来分组当前的数据。但是数据表中时间的字段是精确到分钟的,这种要怎么处理呢?

1. 其实很简单,只要找到当前表中的日期列,并且其转换成需要排序的年月格式便可,并且取出对应的字符长度。

2. 如下,我需要将金额数据按照月度汇总,那么我需要做的就是把当前日期先转换成年月格式的日期,然后按照分组。

3. 需要注意的是,需要将group后的日期字段和查询列的字段都转换为年月格式的字符。如 2019-05 。

select sum(c.fOCryAmtWiTax) 本月接单金额,CONVERT(varchar(7),a.fappdate,120) 月份
 From  t_COPD_OrdMst a with(nolock)  
Left Join  t_CRMM_CstMst b with(nolock)         on a.fCCode = b.fCCode   --fZoneCode N代表内贸   Y代表外贸
Left Join  t_COPD_OrdItem c with(nolock)        on a.fOrdNo = c.fOrdNo    --fOCryAmtWiTax  折后含税金额,替换a.fordallamt+a.fselallamt
left Join  t_BOMM_GoodsMst d with(nolock)       on c.fGoodsID = d.fGoodsID
Left Join  t_CRMM_Zone e with(nolock)           on B.fZoneCode=e.fZoneCode
Left Join  t_COPM_GoodsSortMst f with(nolock)   on d.fSortCode=f.fSortCode
left join t_CRMM_CrmSortMst g                   on g.fCustSortCode=b.fCustSortCode
where a.fappdate>2018-12-31
group by CONVERT(varchar(7),a.fappdate,120)
order by CONVERT(varchar(7),a.fappdate,120)

4. 常用的日期格式有以下:

select CONVERT(varchar(12) , getdate(), 101 )
05/19/2019
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 102 )
2019.05.19
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 103 )
19/05/2019
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 104 )
19.05.2019
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 105 )
19-05-2019
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 106 )
19 05 2019
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 107 )
05 19, 2019
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 108 )
09:15:33
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 109 )
05 19 2019  
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 110 )
05-19-2019
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 111 )
2019/05/19
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 112 )
20190519
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 113 )
19 05 2019 0
---------------------------------------------
select CONVERT(varchar(12) , getdate(), 114 )
09:16:06:747
---------------------------------------------

 

谢谢观看!!!

 

以上是关于group by按照月份分组的主要内容,如果未能解决你的问题,请参考以下文章

mysql 多表 查询 之后 group by 分组 order by 无法按照日期排序

oracle按照指定列分组合计group by rollup()

通过一个 select 语句使用两个 group by

MYSQL05_ORDR BY排序LIMIT分组GROUP BY分组

SQL多次分组问题 group by

pandas使用groupby函数按照多个分组变量进行分组聚合统计使用agg函数计算分组的多个统计指标(grouping by multiple columns in dataframe)