我有一个表在网站上使用某个功能时插入一行并标记日期。
code-/----date----/--type
-----/------------/------
--1--/--2012-2-1--/-used
--1--/--2012-2-3--/-saved
--1--/--2012-1-3--/-printed
--2--/--2012-2-1--/-used
--2--/--2012-2-2--/-printed
我必须报告今天,昨天或上个月(日期范围)代码1(打印或保存或使用)的次数
我从这开始:
$stat_query = mysql_query("SELECT code, type, date FROM tracking WHERE code IN ('$htL','$htG','$htR') GROUP BY code, type, date");
我使用IN操作数,因为每个用户有3个代码可以跟踪每种类型的无限日期条目。
我真的很想知道该怎么做。
答案 0 :(得分:0)
您需要构建日期范围并修改查询。以下是显示过去一天code
的计数的示例:
SELECT `code`, COUNT(`code`) as code_cnt
FROM tracking
WHERE
`code` IN ('$htL','$htG','$htR') AND
`date` BETWEEN DATE_SUB(now(), INTERVAL 1 HOUR) AND now()
GROUP BY `code`
查看DATE_SUB文档以获取进一步的帮助
答案 1 :(得分:0)
GROUP BY代码,类型,日期使其仅返回一条记录。因为所有代码行都会在不同的输出行中进行求和,所以类型也会越来越少。请检查您的GROUP BY字段。