需求:针对数据库中的数据,以时间戳来进行分组(如果数据库中存的是时间的话,也可以使用这种模板,只不过是将FROM_UNIXTIME换成DATE_FORMAT方法),分组形式分为:年、月、周、日四种;
示例表:
表中已有数据:
按年分组:
('%Y',Y要是小写的话得到的就是年的个十位数,例如2021年,使用‘%y’得到的就是’21’)
SELECT FROM_UNIXTIME( create_time , '%Y' ) AS t FROM tt_user_live_buy GROUP BY t
按月分组:
('%Y-%m',中间的‘-’可以去掉或者替换成‘/’,并且注意‘m’要小写,否则就会变成另一种格式的)
SELECT FROM_UNIXTIME( create_time , '%Y-%m' ) AS t FROM tt_user_live_buy GROUP BY t
按周分组:
('%u',u大小写均可,单写‘%u’得到的仅仅是第多少个周的数据,如下图,也可以使用'%Y-%U',代表是哪一年的第多少个周,如果查询的数据时间跨度较大,最好加上年的数据)
SELECT FROM_UNIXTIME( create_time , '%u' ) AS t FROM tt_user_live_buy GROUP BY t
按日分组:
('%Y-%m-%d')
SELECT FROM_UNIXTIME( create_time , '%Y-%m-%d' ) AS t FROM tt_user_live_buy GROUP BY t