我如何通过查询调整以获得MYSQL中每个月的最后一个营业日/工作日?

我如何通过查询调整以获得MYSQL中每个月的最后一个营业日/工作日?,mysql,sql,Mysql,Sql,全部, 尝试调整下面的查询,以获得该月的最后一个工作日,例如5月、6月或其他日期的信息 select distinct month(createddate), year(CreatedDate), id, value1, vaue2, createddate, count( distinct id) from table and value2 IN ('harry','sally') AND createddate > LAST_DAY( '2020-05-21') ## i nee

全部,

尝试调整下面的查询,以获得该月的最后一个工作日,例如5月、6月或其他日期的信息

select distinct
month(createddate),
year(CreatedDate),
id,
value1,
vaue2,
createddate,
count( distinct id)
from 
table

and value2 IN ('harry','sally')

AND createddate > LAST_DAY( '2020-05-21') ## i need last business day here for may. 
AND createddate < '2020-06-01' ##  i need first day of next month here
group by month(createddate),
year(CreatedDate), id,value1, value2,createddate
我已经有一段时间没有使用mysql了,有没有办法用函数或存储过程来找到答案?如果是,怎么办


***我所说的工作日是指工作日,而不是周末***

大概你是想避开周末。因此:

(createddate > last_day('2020-05-21') and dayofweek(last_day('2020-05-21') between 2 and 6 or
 createddate > last_day('2020-05-21') - interval 1 day and dayofweek(last_day('2020-05-21') = 7 or
 createddate > last_day('2020-05-21') - interval 2 day and dayofweek(last_day('2020-05-21') = 1
)

这回答了你的问题吗?不,因为我希望最后一个工作日不是最后一天。请定义一个月的“最后一个工作日”。我需要最后一个工作日。有什么问题?LAST_DAYdate-INTERVAL CASE Weekday LAST_DayDay当5时,1时,6时,2时,其他0结束Day同样,“工作日”有一个相对的含义,有些人在周六或周日工作。。。