And*_*sen 65 php mysql select date
我想这很简单,但无法弄清楚.我正在尝试制作几个页面 - 其中一个页面将包含今天,本周和本月从我的mysql数据库表中选择的结果.使用创建记录时输入日期date('Y-m-d H:i:s');.这是我到目前为止所拥有的:
日期>(日期 - (60*60*24))
"SELECT * FROM jokes WHERE date>(date-(60*60*24)) ORDER BY score DESC"
Run Code Online (Sandbox Code Playgroud)
日期>(日期 - (60*60*24*7))
"SELECT * FROM jokes WHERE date>(date-(60*60*24*7)) ORDER BY score DESC"
Run Code Online (Sandbox Code Playgroud)
月(30天),日期>(日期 - (60*60*24*30))
"SELECT * FROM jokes WHERE date>(date-(60*60*24*30)) ORDER BY score DESC"
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激.谢谢!
Nat*_*ard 121
假设您的日期列是实际的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;
Run Code Online (Sandbox Code Playgroud)
小智 73
尝试使用日期和时间函数(MONTH(),YEAR(),DAY(),MySQL手册)
本星期:
SELECT * FROM jokes WHERE WEEKOFYEAR(date)=WEEKOFYEAR(NOW());
Run Code Online (Sandbox Code Playgroud)
上个星期:
SELECT * FROM jokes WHERE WEEKOFYEAR(date)=WEEKOFYEAR(NOW())-1;
Run Code Online (Sandbox Code Playgroud)
小智 39
这个月:
SELECT * FROM jokes WHERE YEAR(date) = YEAR(NOW()) AND MONTH(date)=MONTH(NOW());
Run Code Online (Sandbox Code Playgroud)
本周:
SELECT * FROM jokes WHERE WEEKOFYEAR(date) = WEEKOFYEAR(NOW());
Run Code Online (Sandbox Code Playgroud)
当前日期:
SELECT * FROM jokes WHERE YEAR(date) = YEAR(NOW()) AND MONTH(date) = MONTH(NOW()) AND DAY(date) = DAY(NOW());
Run Code Online (Sandbox Code Playgroud)
这将只选择当前月份,真正的一周,真的只有今天:-)
内森的答案会在过去的24小时,168小时和744小时内给你开玩笑,而不是本周本月的笑话.如果这就是你想要的,那很好,但我想你可能正在寻找不同的东西.
使用他的代码,中午,你将从昨天中午开始,到今天中午结束.如果你真的想要今天的笑话,请尝试以下方法:
SELECT * FROM jokes WHERE date >= CURRENT_DATE() ORDER BY score DESC;
Run Code Online (Sandbox Code Playgroud)
你必须做一些与当前周,月等有所不同的事情,但你明白了.
| 归档时间: |
|
| 查看次数: |
142773 次 |
| 最近记录: |