gpt4 book ai didi

mysql sql查询以避免日期总和中的周末

转载 作者:行者123 更新时间:2023-11-29 18:52:42 28 4
gpt4 key购买 nike

我试图得出任何雇主工作天数的总和,但是在这个总和中mysql计算的是工作日,所以结果不准确。如何避免在 sum() 函数中获取工作日?

我尝试过:

where mydate NOT IN ('Saturday', 'Sunday') 

正如我在类似问题的其他答案中看到的那样,但这里我使用组函数,这意味着将在调用 where 子句之前评估总和。

这是我的查询:

select  pp.person_name,sum(ss.spread_sheet_date) as days
from spread_sheet ss
left join activity ac on ss.activity_id = ac.activity_id
left join person pp on pp.person_id = ss.person_id
where ac.activity_id is not null
group by ac.activity_id,pp.person_id ;

这是我的查询 NOT IN:

select  pp.person_name,sum(ss.spread_sheet_date) as days
from spread_sheet ss
left join activity ac on ss.activity_id = ac.activity_id
left join person pp on pp.person_id = ss.person_id
where ac.activity_id is not null and ss.spread_sheet_date NOT IN ('Saturday', 'Sunday')
group by ac.activity_id,pp.person_id ;

我还在另一个问题中找到了这个答案,并尝试使用它

SELECT *
FROM your_table
WHERE ((DATEPART(dw, date_created) + @@DATEFIRST) % 7) NOT IN (0, 1)

但它不起作用,我想这与 mysql 不兼容。

有谁知道怎么解决吗?

最佳答案

嗯:在查询的一部分中,您将 ss.spread_sheet_date 视为可以求和的数字(也许您想计数?),在其他部分中,您将其视为日期。如果确实是日期,则更改:

where ac.activity_id is not null and  ss.spread_sheet_date  NOT IN ('Saturday', 'Sunday')

至:

where ac.activity_id is not null and  DAYOFWEEK(ss.spread_sheet_date)  NOT IN (1,7)

关于mysql sql查询以避免日期总和中的周末,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44307949/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com