mysql 查询结果按年、月、日等分组排序

假设 要根据 某字段 time 排序,字段类型是 datetime

那么查询语句 是  select * from table group by date_format(time,'%Y-%m');

结果就会按照 2012-03  2012-04 这个分组排序了..

在统计一些以日 月 年为单位的总和值的时候比较有用

%Y %m %d  分别代表 年 月 日。当然选择用EXTRACT 函数也是可以的

如果要调整时差的话 可以使用 date_format(time+INTERVAL 16 HOUR)   date_format(time+INTERVAL 1 DAY)

如果是 int形式存储的时间戳,则需要先同from_unixtime 函数转换为日期再调用 date_format

例如:select * from table group by date_format(from_unixtime(time),'%m') 按月份分组排序

这几种用法在需要按日期统计总和数额的时候非常有用。比如 现在有张表

id      wage    date

1      4000     2012-03

2     3500      2012-03

...

需要统计3月份发放的wage总额

select *,sum(wage) as total_wage from table where date_format(date,'%m')='03' group by date_format(date,'%m');

一条查询语句搞定

你可能感兴趣的:(mysql查询查结果按日期排序)