我有一个表,其中有出生日期、年龄位置和分数,我想检索在分数不为空且没有时间戳字段的两个日期之间创建的记录数。
如果没有时间戳字段,我该怎么做。
是否有任何元数据,如果有,我该如何运行查询?
为您的表格添加时间戳
尝试这样的查询:
SELECT COUNT(*)
FROM TABLE_NAME
WHERE BIRTHDATE BETWEEN 'DATE1' AND 'DATE2'
AND SCORE IS NOT NULL AND TIMESTAMP IS NULL;
在现有表中添加一列timestamp
,默认值为NULL
,并查询上述语句,它应该可以工作。每当您向已经有记录的表中添加一列时,对于该新列和现有记录,相应的值都是空白的。
正如其他用户所指出的那样,这里得到了回应。
因为您在数据库中没有日期参考字段,所以您无法提取匹配一个或两个日期之间的记录。
从这里开始,您最好的选择是添加一个日期字段,然后确保在将数据写入数据库时,您使用mysql now() 函数插入一个日期/日期时间。有几种不同的方法可以实现它,但这可能是最简单的:
mysql_query("
INSERT INTO users (first, last, whenadded)
VALUES ('$first', '$last', now())
";