这是非常基本的MySQL,但我无法弄清楚这一点,如何正确地做到这一点..
实施例: 我有一个名为“table1”的数据库表,其中包含用户访问者数据的记录列表。 列: “ID”,“TM”和“IP”
“TM”包含存储记录的时间戳。
我有一个PHP代码,我从开始日期到当天循环了几天。像这个例子:
// Start date
$startdateforarray = '2010-07-21';
// End date
$end_date = date("Y-m-d");
while (strtotime($startdateforarray) <= strtotime($end_date)) {
$timestamp = strtotime($startdateforarray);
//Here I want to run my MySQL Query...
$startdateforarray = date ("Y-m-d", strtotime("+1 day", strtotime($startdateforarray)));
}
现在,在循环内部,我想进行查询以计算每天“table1”中有多少结果。
所以MySQL查询应该是这样的:
"SELECT * FROM table1 WHERE TM = (day of $timestamp)"
当然($ timestamp的一天)是我遇到问题的地方。 我知道这应该很简单,但我还没有找到解决方案..
答案 0 :(得分:1)
假设您通过时间戳表示Unix时间戳,您可以
SELECT * FROM table1 WHERE FROM_UNIXTIME(TM,'%Y-%m-%d') = '2010-07-21'