我是mysql编码的新手,所以请帮助。
我有一个简单的数据库,其中包含一个名为history的表,用于在日期中存储数据。
该表称为历史记录,其中包含“user”,“data”和“creation”的列名称,即日期。 “创造”中的数据标记就像这样的“2013-01-13 07:45:49”
我用PHP尝试了一些非常基本的东西,我得到了数据,例如: $ result = mysql_query(“SELECT data FROM history 用户='705'“);
将显示来自用户“705”的所有数据
但是,如何仅在特定数据范围内为用户705选择相同的数据?例如,只显示上周的数据?或任何日期范围...
顺便说一下,“数据”只是像“88993”这样的数字,所以在我当前的查询中,我得到了一长串的数字。我只想按日期缩小选择范围。帮助表示赞赏。感谢
答案 0 :(得分:2)
尝试日期......
select * from yourtable
where userid =785
and date between yourdate1 and yourdate2
;
您可以使用interval
指定所需的日期差距:
select * from yourtable
where userid =785
and date between '2013-01-13 07:45:49'
and '2013-01-13 07:45:49' interval -10 day
;
根据您的上一条评论尝试此操作:
select * from yourtable
where userid =785
and creation between Now()
and Now() interval -7 day
order by creation
limit 7
;
答案 1 :(得分:0)
上周试试这个:
select data from history
where (user='705') AND (date between date_sub(now(),INTERVAL 1 WEEK) and now());
你也可以用“1个月”,“2个月”,“1年”替换“1周”,然后......