Php 按多列分组计数
我需要找到我的网站统计,我想知道有多少独特的看法,在一天,从哪个层次的国家 我是这样做的 我需要从两列ip和tier中获取计数 列ip具有访问者的ip 列tier的值为int 1,2,3,4,5,分别用于第1、第2、第3、第4、第5级国家/地区 我需要获取唯一ip的计数,然后获取相应的层计数Php 按多列分组计数,php,mysql,Php,Mysql,我需要找到我的网站统计,我想知道有多少独特的看法,在一天,从哪个层次的国家 我是这样做的 我需要从两列ip和tier中获取计数 列ip具有访问者的ip 列tier的值为int 1,2,3,4,5,分别用于第1、第2、第3、第4、第5级国家/地区 我需要获取唯一ip的计数,然后获取相应的层计数 $date1 = "4-3-2016 00:00:00"; $date2 = "5-3-2016 00:00:00"; $today = strtotime("midnight", strtotime($d
$date1 = "4-3-2016 00:00:00";
$date2 = "5-3-2016 00:00:00";
$today = strtotime("midnight", strtotime($date1));
$nextday = strtotime("midnight", strtotime($date2));
$query="
SELECT
COUNT(*) AS `unique`
FROM `stats`
WHERE (`date`>='$today' AND `date`<'$nextday')
GROUP BY `ip`, `tier` ORDER BY `tier` DESC;
";
我从中得到唯一的计数,我也需要得到层数
也有这种方法
//adding in main query to get tiers counts
COUNT(DISTINCT CASE WHEN `tier` = '1' THEN `ip` END) `tier1`
但是这很慢,如果可能的话,我想一组一组地做
请提出任何可行的方法
谢谢这将为您提供各层的唯一IP数
SELECT tier, COUNT(ip) AS IP_COUNT FROM
(SELECT DISTINCT tier, ip
FROM stats
WHERE <your conditions>) A
GROUP BY tier
IP总数将是所有IP总数的总和这将为您提供各层的唯一IP数
SELECT tier, COUNT(ip) AS IP_COUNT FROM
(SELECT DISTINCT tier, ip
FROM stats
WHERE <your conditions>) A
GROUP BY tier
IP总数将是所有IP计数的总和按层尝试分组,ip@JuanCarlosOropeza仍然相同的结果显示示例数据和预期结果。但是直接在sql上,无需复杂地添加phpStore日期作为日期。请尝试按层分组,ip@JuanCarlosOropeza仍然相同的结果显示示例数据和预期结果。但是直接在sql上,不需要将phpStore日期添加为日期来复杂化。