gpt4 book ai didi

mysql - 我如何在MYSQL中选择两周前?

转载 作者:IT老高 更新时间:2023-10-29 00:02:33 30 4
gpt4 key购买 nike

我有一个由如下所示的 sql 查询驱动的报告:

   SELECT batch_log.userid,
batches.operation_id,
SUM(TIME_TO_SEC(ramses.batch_log.time_elapsed)),
SUM(ramses.tasks.estimated_nonrecurring + ramses.tasks.estimated_recurring),
DATE(start_time)
FROM batch_log
JOIN batches ON batch_log.batch_id=batches.id
JOIN ramses.tasks ON ramses.batch_log.batch_id=ramses.tasks.batch_id
JOIN protocase.tblusers on ramses.batch_log.userid = protocase.tblusers.userid
WHERE DATE(ramses.batch_log.start_time) > "2011-02-01"
AND ramses.batch_log.time_elapsed > "00:03:00"
AND DATE(ramses.batch_log.start_time) < now()
AND protocase.tblusers.active = 1
AND protocase.tblusers.userid NOT in ("ksnow","smanning", "dstapleton")
GROUP BY userid, batches.operation_id, date(start_time)
ORDER BY start_time, userid ASC

由于这是要与当前支付期的时间进行比较,因此会导致错误。
我们的发薪期从星期日开始,第一个发薪期是 2011-02-01,最后一个发薪期是从本月 4 日开始。如何将其放入我的 where 语句中以从查询中删除最近的付款期?

编辑:所以现在我正在使用 date_sub(now(), INTERVAL 2 WEEK) 但我真的需要一周中的某一天(SUNDAY),因为它是星期三,它会在星期三切断它。

最佳答案

您想使用 DATE_SUB , 以及 an example .

具体来说:

select DATE_SUB(curdate(), INTERVAL 2 WEEK)

两周前得到你。将 DATE_SUB ... 部分插入到您的 sql 中,您就可以开始了。

根据您的评论进行编辑:

查看星期几:

你可以按照以下方式做一些事情:

DATE_SUB(DATE_SUB(curdate(), INTERVAL 2 WEEK), INTERVAL 2 + DAYOFWEEK(curdate()) DAY)

(我没有 MySql 实例来测试它......但基本上减去星期一之后的天数。)

关于mysql - 我如何在MYSQL中选择两周前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683768/

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