php - MySQL 根据多种因素计算唯一行数

标签 php mysql

我需要根据唯一 ip 查找唯一行,然后在单个查询中获取按用户排序的结果。

我正在尝试这种方式

$query="SELECT 
COUNT(DISTINCT `userip`) AS `count`,
`userid` AS `userid`
FROM `tablename` 
WHERE (`date` >= UNIX_TIMESTAMP(CURDATE())) GROUP BY `userid`";
$result = mysqli_query($connection, $query) or trigger_error(mysqli_error($connection), E_USER_ERROR);  
$row = mysqli_fetch_assoc($result);
print_r($row);

这给了我最后一个用户的结果

Array ( [count] => xxx [userid] => last_user);

我需要在单个查询中为每个用户获取此结果

Array ( 
    Array ( [count] => xxx [userid] => first_user);
    .
    .
    Array ( [count] => xxx[userid] => last_user);
)

请看看这是否可以做到,并提出一种方法来做到这一点。 谢谢

编辑

感谢所有答案,解决方案有效我正在检查行而不是结果的查询。

最佳答案

我认为您应该对 userip 和 userid 列都使用 group by。查看以下查询是否适合您。

SELECT COUNT( `userip`) AS `count`, `userid` AS `userid` FROM `tablename` WHERE (`date` >= UNIX_TIMESTAMP(CURDATE())) GROUP BY userid,userip; 

关于php - MySQL 根据多种因素计算唯一行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30827409/

相关文章:

php - 对所有用户使用相同的 MySQL 链接?

mysql - 预替换 : capturing single quote inside single quote escaped expression

mysql - 导入phpmyadmin错误

php - php 中出现 fatal error

Php, MySql 从两个表求和

php - 如何恢复 netbeans 的默认行为?

php - 如何使用 Apache SOLR 和 PHP 代码突出显示搜索结果

php - 如何使用 php/mysql 为社交网站的 friend /关注者设置数据库

mysql - 向 mySQL GROUP_CONCAT 语句添加内部连接

mysql - 如何在没有base64编码的情况下将blob数据从ruby提交到MySQL