你好我的代码有问题。与MySQL我想要获得基于最近3个月内购买表“ID”列的计数..如何计算mysql中最近三个月的按时间列分组?
所以想指望有多少购买在用mysql最近3个月。如果有帮助,我有一个使用时间戳的时间栏。
我的下面的代码不起作用..
任何帮助将是伟大的。提前致谢。
$query = "SELECT COUNT(id)
FROM purchases
where username='$username'
GROUP BY time";
你好我的代码有问题。与MySQL我想要获得基于最近3个月内购买表“ID”列的计数..如何计算mysql中最近三个月的按时间列分组?
所以想指望有多少购买在用mysql最近3个月。如果有帮助,我有一个使用时间戳的时间栏。
我的下面的代码不起作用..
任何帮助将是伟大的。提前致谢。
$query = "SELECT COUNT(id)
FROM purchases
where username='$username'
GROUP BY time";
你可以这样做:
$query = "SELECT COUNT(id)
FROM purchases
WHERE username='$username'
AND timecol BETWEEN (NOW() - INTERVAL 3 MONTH) AND NOW()";
谢谢。这有助于.. – ASH 2013-04-28 13:26:37
如果你想知道为什么你的查询失败,这可能是因为time
是一个MySQL的关键字,应该逃脱了,就像这样:
$query = "SELECT COUNT(id)
FROM purchases
WHERE username = '$username'
GROUP BY `time`";
至于如何只能选择购买记录在过去的三个月里,看到其他的答案。
你为什么要用这个组?它应该在WHERE时间> TIMESTAMPADD(MOTNH,-3,NOW())。您可以使用GROUP BY DATE_FORMAT(“%Y-%M”,时间)来获取前几个月的列表以及它们puchases的数量。 – Simon 2013-04-28 13:15:51