mysql 获取上一周_mysql怎么查询上一周的数据

百度出来的sql是:

SELECT time FROM atkg WHERE YEARWEEK(date_format(time,'%Y-%m-%d')) = YEARWEEK(now())-1

可是mysql查出来的是周日到周六的时间,我想要周一到周日的时间啊,sql怎么写,求教

给yearweek带个参数1就行

SELECT time FROM atkg WHERE YEARWEEK(date_format(time,'%Y-%m-%d'), 1) = YEARWEEK(now(), 1)-1

你得先知道上一周的起始时间戳

从周一开始计算

SELECT time FROM atkg WHERE YEARWEEK(date_format(time,'%Y-%m-%d')) = YEARWEEK(now() - INTERVAL 1 DAY);

楼主应该的问的是YEARWEEK函数问题,YEARWEEK函数用法:

SELECT YEARWEEK('2017-03-27',1)  //从周一开始计算一周

其中第二个参数是 mode ,具体指的意思如下:

MySQL 的 YEARWEEK 是获取年份和周数的一个函数,函数形式为 YEARWEEK(date[,mode])

Mode First day of week Range Week 1 is the first week …

0 Sunday 0-53 with a Sunday in this year

1 Monday 0-53 with more than 3 days this year

2 Sunday 1-53 with a Sunday in this year

3 Monday 1-53 with more than 3 days this year

4 Sunday 0-53 with more than 3 days this year

5 Monday 0-53 with a Monday in this year

6 Sunday 1-53 with more than 3 days this year

7 Monday 1-53 with a Monday in this year

按楼主你的写法:SELECT time FROM atkg WHERE YEARWEEK(date_format(time,’%Y-%m-%d’),1) = YEARWEEK(now(),1)-1

你可能感兴趣的:(mysql,获取上一周)