PHP SQL 查询以获取 table 中最常见的值

PHP SQL Query to get the most common value in the table

我正在尝试让我的查询计算行数,并使其 return 成为该列表中最常见的名称,然后从中计算该名称出现的次数并输出名称和数量有时它在那里 这是我正在使用的代码:

$vvsql = "SELECT * FROM votes WHERE sid=? ORDER BY COUNT(*) DESC LIMIT 1";
$vvresult = $db->prepare($vvsql);
$vvresult->execute(array($_GET['id']));
$vvcount = $vvresult->rowCount();
    foreach ($vvresult->fetchAll(PDO::FETCH_ASSOC) as $row) { 
            echo $row['username'];
            echo $vvcount;
    }

然而,它只显示 table 中的第一个用户名并计算整个 table。我对此很陌生,所以如果这很糟糕 post 或者没有多大意义,我很抱歉。

你似乎想要:

SELECT name, COUNT(*) as cnt
FROM votes 
GROUP BY name
ORDER BY COUNT(*) DESC
LIMIT 1;

注意 GROUP BY。您可能还想按 sid 过滤,但您的问题没有提到这一点。

select username, count(*) as c 
FROM votes 
GROUP BY username 
ORDER BY c DESC