0

在我的站点上,用户注册日期存储为 varchar(20) 列中的时间戳。我想统计今天有多少用户注册,我写了查询:

SELECT COUNT(*) as count FROM `users` WHERE `user_group` = 7 AND `reg_date > 1368993600

1368993600 - 今天 0:00。此查询返回我所有用户的计数,而不是今天注册的计数。我编辑了查询:

SELECT COUNT(*) as count FROM `users` WHERE `user_group` = 7 AND CAST(`reg_date` AS SIGNED) > 1368993600

但它仍然无法正常工作......我如何计算今天注册的用户?

4

2 回答 2

1

您正在扣除一些错误,而您的错误在其他地方。请参阅此 SQL Fiddle,使用您提到的相同数据结构并使用您的第一个查询而不使用CAST,您将看到它工作正常。仅返回 3 行,它们的值大于 1368993600。

于 2013-05-20T13:53:30.807 回答
1
SELECT COUNT(*) as count 
FROM `users` 
WHERE `user_group` = 7 
AND `reg_date` - timestamp(curdate()) >= 0
于 2013-05-20T13:44:07.293 回答