mysql - 仅在 PHP 中显示本周的行

标签 mysql sql date

我有两个日期存储在我的数据库中作为列 dtp_sdtp_e(开始,结束)。这些源自填充的表单,用户需要选择开始和结束日期。

我想显示本周星期一到星期日的记录,但我当前的解决方案是显示 7 天前到今天的日期。

SELECT id
FROM _records
WHERE
    dtp_s > unix_timestamp(now() - interval 1 week)
    AND userid = ?
ORDER BY dtp_s DESC 
LIMIT 5

我试图将 now() 更改为 strtotime( 'sunday' ) 的值,但是当记录确实存在时,它不会显示任何记录。

关于如何仅显示同一周(周一至周日)开始的数据的任何想法?

最佳答案

要获取本周的星期一,您可以使用:-

select date(curdate() - interval weekday(curdate()) day)

将其添加到您的代码中:-

SELECT id FROM _records 
WHERE dtp_s > date(curdate() - interval weekday(curdate()) day) AND userid = ? 
ORDER BY dtp_s DESC 
LIMIT 5

关于mysql - 仅在 PHP 中显示本周的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63225315/

相关文章:

php - 如何使用多个?在 PHP 的准备语句中

sql - 柱状数据库

python - sqlalchemy 日期作为原始 sql 中的字符串

javascript - 如何写日期 | ng 类中的日期 :"MM"?

php - 迄今为止增加 30 分钟

java - 将复杂的 SQL 转换为 HQL?

sql - 我非常讨厌 MySQL(帮助构建查询)

mysql - 删除相关子查询

mysql - 远程连接到 clearDB heroku 数据库

mysql - SQL 问题 : Inserting values into one clumn, 每个其他列中的 EMPTY 值数量相同