我有张表,如下图,我想以datetime排序,获得每天出现过几个ip地址。
我用下面这段的话,只能取出总数,不是个数
$data['num_ip'] = Db::name("visitors")->where($where)->field("count(ip) as count,datetime")->group("datetime")->select();
,
我有张表,如下图,我想以datetime排序,获得每天出现过几个ip地址。
我用下面这段的话,只能取出总数,不是个数
$data['num_ip'] = Db::name("visitors")->where($where)->field("count(ip) as count,datetime")->group("datetime")->select();
,
SELECT COUNT(DISTINCT `ip`), `datetime`
FROM [TABLE_NAME]
GROUP BY `datetime`
ORDER BY `datetime` ASC;
这得嵌套查询了吧,第一层按日期,IP去重,第二层再像你现在这样
select count(ip) as count,datetime from
(
select ip,datetime from table_name group by ip,datetime
)as a
group by datetime
8 回答2.5k 阅读
2 回答5k 阅读✓ 已解决
5 回答819 阅读
4 回答1.1k 阅读✓ 已解决
3 回答2.1k 阅读
8 回答1.2k 阅读
2 回答1.3k 阅读✓ 已解决
count(distinct ip)