mysql 上週 跨年 mysql 跨年查詢

2021-10-17 20:54:35 字數 1655 閱讀 2301

--本週

select sum(qty) qty from user where yearweek(createdate) = yearweek(now())

--上週

select sum(qty) qty from user where yearweek(smo.createdate) = yearweek(date_sub(now(), interval 1 week))

--本月

select sum(qty) qty from user where date_format(createdate,'%y%m')=date_format(now(),'%y%m')

--上月

select sum(qty) qty from user where date_format(createdate,'%y%m')=date_format(date_sub(now(), interval 1 month),'%y%m')

---date_sub(date,interval expr type) 函式從日期減去指定的時間間隔。

type  有以下的型別

microsecond

second

minute

hour

dayweek

month

quarter

year

second_microsecond

minute_microsecond

minute_second

hour_microsecond

hour_second

hour_minute

day_microsecond

day_second

day_minute

day_hour

year_month

---date_format(date,format) 函式用於以不同的格式顯示日期/時間資料。

格式描述

%a縮寫星期名

%b縮寫月名

%c月,數值

%d帶有英文本首的月中的天

%d月的天,數值(00-31)

%e月的天,數值(0-31)

%f微秒

%h小時 (00-23)

%h小時 (01-12)

%i小時 (01-12)

%i分鐘,數值(00-59)

%j年的天 (001-366)

%k小時 (0-23)

%l小時 (1-12)

%m月名

%m月,數值(00-12)

%pam 或 pm

%r時間,12-小時(hh:mm:ss am 或 pm)

%s秒(00-59)

%s秒(00-59)

%t時間, 24-小時 (hh:mm:ss)

%u周 (00-53) 星期日是一周的第一天

%u周 (00-53) 星期一是一周的第一天

%v周 (01-53) 星期日是一周的第一天,與 %x 使用

%v周 (01-53) 星期一是一周的第一天,與 %x 使用

%w星期名

%w周的天 (0=星期日, 6=星期六)

%x年,其中的星期日是周的第一天,4 位,與 %v 使用

%x年,其中的星期一是周的第一天,4 位,與 %v 使用

%y年,4 位

%y年,2 位

mysql 周 MySQL的跨年周統計問題

在mysql中,如果要查詢的表中只有日期字段,但是業務需求要按照周分組,排序的話,mysql提供了多種方法 1。date format date format date,format 函式根據format字串格式化date值。然後在分組排序就很簡單了,不過這裡有乙個問題,就是標題所示,跨年使用這種方...

mysql 今天 mysql查詢今天 昨天 上週

今天 select from 表名 where to days 時間欄位名 to days now 昨天select from 表名 where to days now to days 時間欄位名 1 7天select from 表名 where date sub curdate interval ...

mysql昨天 mysql查詢今天 昨天 上週

今天 select from 表名 where to days 時間欄位名 to days now 昨天select from 表名 where to days now to days 時間欄位名 1 7天select from 表名 where date sub curdate interval ...