[英]Count same values from wordpress database
My db looks like this: 我的数据库看起来像这样:
timestamp user_ip user_agent
--------- ------- ----------
2015-09-15 01:11:11 111.111.111.111 bla bla Chrome bla bla
2015-09-15 02:22:22 222.222.222.222 bla bla Chrome bla bla
2015-09-15 04:44:44 222.222.222.222 bla bla Chrome bla bla
2015-09-15 05:55:55 222.222.222.222 bla bla Firefox bla bla
I need to count the same values of user_ip raw. 我需要计算user_ip raw的相同值。 Timestamp and user_agent are just for records inside db. 时间戳和user_agent仅用于db中的记录。 Expected result: 预期结果:
IP Count
--------------- -----
111.111.111.111 1
222.222.222.222 3
Thanks in advance. 提前致谢。
您可以使用GROUP BY
和COUNT()函数。
SELECT COUNT(1) FROM my_table GROUP BY user_ip;
Try this: 尝试这个:
$arr = [
0 => (object)[
'timestamp' => '2015-09-15 04:43:40',
'user_ip' => '104.131.92.125',
'user_agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 )'
],
1 => (object)[
'timestamp' => '2015-09-15 04:44:05',
'user_ip' => '104.131.92.125',
'user_agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 )'
],
2 => (object)[
'timestamp' => '2015-09-15 04:44:05',
'user_ip' => '102.131.92.125',
'user_agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 )'
]
];
$a = json_encode($arr);
$b = json_decode($a, true);
$newArr = [];
foreach($b as $key => $val)
{
if(array_key_exists('user_ip', $val)){
$newArr[] = $val['user_ip'];
}
}
echo '<pre>';
$arrValues = array_count_values($newArr);
print_r($arrValues);
Here's the result: 结果如下:
Array
(
[104.131.92.125] => 2
[102.131.92.125] => 1
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.