【问题标题】:group result by country and count按国家和计数分组结果
【发布时间】:2021-10-23 12:06:30
【问题描述】:

我有以下代码;

$uid = '21';
$select = $dbh->prepare("SELECT * FROM `reports` WHERE `profileuid` = ?");
$select->bindParam(1,$uid, PDO::PARAM_STR);
$select->execute();

foreach($select as $row){

    $country = $row['country'];
    echo  $country;
}

以及如下数据库结构;

目前上面的代码给出了这个输出

United Kingdom
United Kingdom
United States

我想要的输出

United Kingdom 2
United States 1

感谢您的帮助;我会自己尝试,但我不知道如何进行这样的计数。这可能是GROUP

【问题讨论】:

    标签: php sql pdo


    【解决方案1】:

    您可以将查询重写为:

    SELECT Location, COUNT(1) as NoOfEntries  
    FROM `reports` WHERE `profileuid` = ? 
    GROUP BY Location
    ORDER BY COUNT(1) DESC
    

    它将国家分组并给出计数。

    【讨论】:

    • 谢谢你,说我想通过 NoOfEntries 订购可以吗?
    • @Lewis,是的,您可以使用 NoOfEntries 进行订购。请检查我的更新答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多