在mysql数据库中,我的表具有以下条目:
----------------------------------------
user_id date subject
----------------------------------------
id8771 2018-06-25 English
id8772 2018-06-25 French
id8773 2018-06-25 spanish
id8774 2018-06-24 English
id8775 2018-06-24 English
id8776 2018-06-24 Spanish
id8777 2018-06-24 Hindi
id8778 2018-06-22 Sanskrit
id8779 2018-06-22 French
id8780 2018-06-19 Sanskrit
id8781 2018-06-19 English
id8781 2018-06-19 English
id8781 2018-06-19 Sanskrit
id8781 2018-06-19 Spanish
在我的应用程序中,我想按日期显示数据。例如显示过去30天的数据。 就像我要显示过去2天的数据一样,应该是这样:
----------------------------------------
user_id date subject
----------------------------------------
id8771 2018-06-25 English
id8772 2018-06-25 French
id8773 2018-06-25 spanish
id8774 2018-06-24 English
id8775 2018-06-24 English
id8776 2018-06-24 Spanish
id8777 2018-06-24 Hindi
mysql中是否有这样的查询?
答案 0 :(得分:2)
使用date_sub(now(),间隔2天)查找前两天的日期
select * from tablename where date>=date_sub(now(), interval 2 day)
答案 1 :(得分:1)
日期大于两天前的所有记录:
SELECT * FROM `table` WHERE `date` > DATE_SUB(NOW(), INTERVAL 2 DAY);
答案 2 :(得分:1)
您可以使用
选择值SELECT ... WHERE date BETWEEN DATE_SUB(NOW(), INTERVAL 2 DAY) AND NOW()
通常,> =与BETWEEN相同,但是对于理解和格式化更为清晰