我正在执行此查询以了解按日期计算的唯一IP数。 事实是,我需要在PHP中返回按日期划分的唯一IP数量,以及日期本身。 我该怎么办?
function getTotUniqueVisitsDay($id) {
$query="SELECT COUNT(DISTINCT user_ip) FROM campaigns_visitors WHERE campaign_id = ".$id." group by date";
$result = mysql_query($query) or die("Getting tot unique visits by day failed: " . mysql_error());
$visits_by_day = mysql_num_rows($result);
return $visits_by_day;
}
答案 0 :(得分:1)
您的查询是
SELECT COUNT(DISTINCT user_ip)
FROM campaigns_visitors
WHERE campaign_id = ?
GROUP BY date
这不会像您找到的那样返回date
。
你应该有更多运气
SELECT COUNT(DISTINCT user_ip), date
FROM campaigns_visitors
WHERE campaign_id = ?
GROUP BY date
其他人可能会建议您使用预准备语句和mysqli
例程;我已经帮助您将查询翻译成可以准备的格式。
我相信你可以构造PHP来操作改变的语句。
答案 1 :(得分:0)
最佳做法是将日期存储为last_updated和date_created列。这篇文章建议如何获取任何表的更新日期 How can I tell when a MySQL table was last updated?
并且根据以下帖子,您无法获得表格中特定行的更新日期 How to get the date of record updating in MySQL
答案 2 :(得分:0)
function getTotUniqueVisitsDay($id) {
$query="SELECT date_field FROM campaigns_visitors WHERE campaign_id = ".$id." group by date_field";
$result = mysql_query($query) or die("Getting tot unique visits by day failed: " . mysql_error());
$visits_by_day = mysql_num_rows($result);
$visits_by_day['count'] = count($visits_by_day);
return $visits_by_day;
}