如何在PDO,PHP中获取相同值的数量

时间:2016-11-05 14:21:09

标签: php mysql pdo

我的mysql结构就像

ID  color   user
1   red      A
2   red      B
3   green    C
4   red      D
5   white    C

等等;

首先,我需要获得多个SAME值。例如,我应该计算(看看数据库结构)3为红色(有3次红色),1为绿色,1为白色。

然后我需要得到最高的计算数字(db应该是3,因为有3次红色,其他是1)

我的数据库连接是

$user = 'root';
$pass = '';

try {
    $db = new PDO('mysql:host=localhost;dbname=colors', $user, $pass);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $query = "SELECT * FROM user_color ORDER BY ID";
    $get = $db->prepare($query);
    $get->execute();

    foreach ($get->fetchAll(PDO::FETCH_ASSOC) as $row) {

       No idea ...

    }


} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

我不知道如何做到这一点。我将等待答案,谢谢你的阅读。

1 个答案:

答案 0 :(得分:2)

使用group byorder by以及limit

select count(*)
from user_color
group by color
order by count(*) desc
limit 1;