选择今天,本周,本月php mysql的记录

2022-08-30 09:12:34

我想这很简单,但无法弄清楚。我正在尝试制作几个页面 - 其中一个页面将包含从我的mysql db的表中选择的今天,本周和本月的结果。使用 创建记录时,将输入日期。以下是我到目前为止所拥有的:date('Y-m-d H:i:s');

日期所在日期>(日期-(60 * 60 * 24))

 "SELECT * FROM jokes WHERE date>(date-(60*60*24)) ORDER BY score DESC"

星期,其中日期>(日期-(60 * 60 * 24 * 7))

 "SELECT * FROM jokes WHERE date>(date-(60*60*24*7)) ORDER BY score DESC"

月(30天)其中日期>(日期-(60 * 60 * 24 * 30))

 "SELECT * FROM jokes WHERE date>(date-(60*60*24*30)) ORDER BY score DESC"

任何想法将不胜感激。谢谢!


答案 1

假设您的日期列是实际的 MySQL 日期列:

SELECT * FROM jokes WHERE date > DATE_SUB(NOW(), INTERVAL 1 DAY) ORDER BY score DESC;        
SELECT * FROM jokes WHERE date > DATE_SUB(NOW(), INTERVAL 1 WEEK) ORDER BY score DESC;
SELECT * FROM jokes WHERE date > DATE_SUB(NOW(), INTERVAL 1 MONTH) ORDER BY score DESC;

答案 2

尝试使用日期和时间函数(MONTH(),YEAR(),DAY(),MySQL手册)

本周:

SELECT * FROM jokes WHERE WEEKOFYEAR(date)=WEEKOFYEAR(NOW());

上个星期:

SELECT * FROM jokes WHERE WEEKOFYEAR(date)=WEEKOFYEAR(NOW())-1;

推荐