2012-02-07 45 views
0

我有插入行,当某一功能的网站和邮票的日期所用的表。集团和操作基于多个列

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

所以你需要返回某个'code'在那里的日期范围的次数?你需要通过'type'分开计数吗?使用 – 2012-02-07 23:17:31

+0

肯定的,那么代码一种类型的今天7项或在过去7天或其他日期范围20项.. – 2012-02-07 23:20:17

回答

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文档以获得更多帮助

+0

感谢阿龙,现在要读它。 – 2012-02-07 23:43:38

0

GROUP BY代码,类型,日期在这个例子中使它只返回一条记录。由于所有代码行都会在不同的输出行中进行汇总,因此类型也会越来越少。请检查您的GROUP BY字段。

+0

你会如何检索次数,让你可以轻松地显示条目的数量对于任何给定日期范围? – 2012-02-08 00:07:17