请教group by 时间为周单位,如何显示为当周某一日?

kyleledger 2017-02-27 09:20:47
标题可能表述不清,我想根据时间group by 以周围单位的数据,例如date_format(time,'%Y%u周'),显示结果为201708周,但是别人可能不容易知道08周是一年中哪一天到哪一天,如何显示为20170220-20170226,或者其他能让别人看出201708周是在哪一天的呢?
...全文
195 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyleledger 2017-02-27
  • 打赏
  • 举报
回复
引用 3 楼 ACMAIN_CHM 的回复:
select time-interval WEEKDAY(time) day from x group by date_format(time,'%Y%u周')
谢谢已经好了,你的方法还没尝试,先谢谢!
ACMAIN_CHM 2017-02-27
  • 打赏
  • 举报
回复
select time-interval WEEKDAY(time) day from x group by date_format(time,'%Y%u周')
kyleledger 2017-02-27
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
%w mysql> select date_add(now(), interval -date_format(now(),'%w') day); +--------------------------------------------------------+ | date_add(now(), interval -date_format(now(),'%w') day) | +--------------------------------------------------------+ | 2017-02-26 09:58:53 | +--------------------------------------------------------+ 1 row in set (0.08 sec) mysql>
非常感谢版主,你这个结果是按照周日为一周的首日,我自己改了下以周一为一周的第一天 select case when date_format('2017-02-06','%w')=0 then date_add('2017-02-06', interval -6 day) else date_add('2017-02-06', interval -date_format('2017-02-06','%w')+1 day) end;
rucypli 2017-02-27
  • 打赏
  • 举报
回复
%w mysql> select date_add(now(), interval -date_format(now(),'%w') day); +--------------------------------------------------------+ | date_add(now(), interval -date_format(now(),'%w') day) | +--------------------------------------------------------+ | 2017-02-26 09:58:53 | +--------------------------------------------------------+ 1 row in set (0.08 sec) mysql>

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧