Php 计数具有相同id的行并打印

Php 计数具有相同id的行并打印,php,mysql,Php,Mysql,所以我有一张“用户照片”表。它包含带有用户图片的38k行。每一行都包含id、userid和照片链接。因此,如果用户有3张图片,那么该用户id将在数据库中显示为3行 我想做的是统计数据库中有1张图片、数据库中有2张图片的用户数,等等 更新:我现在有以下代码 $sql = $mysqli->query("SELECT count(*), count_users from (SELECT u_id, count(*) as count_users FROM users_photos group

所以我有一张“用户照片”表。它包含带有用户图片的38k行。每一行都包含id、userid和照片链接。因此,如果用户有3张图片,那么该用户id将在数据库中显示为3行

我想做的是统计数据库中有1张图片、数据库中有2张图片的用户数,等等

更新:我现在有以下代码

$sql = $mysqli->query("SELECT count(*), count_users from (SELECT u_id, count(*) as count_users FROM users_photos group by u_id) temp group by count_users");
    $sql->data_seek(0);
while ($row = $sql->fetch_assoc()) {
    echo "".$fetch."  = " . $row['count_users'] . "\n<br>";
}
这将打印具有1张图片和最多8张图片的用户。不是多少,但只显示在数据库中有用户有1张图片,2张图片等。现在我需要弄清楚如何打印总用户有1张图片等

有人有什么建议吗?代表我表示感谢

使用此更新您的查询

Sql查询:

你可以这样打印


您可以这样做:

$con = mysqli_connect("localhost","my_user","my_password","my_db");
$sql = 'SELECT u_id, count(*) AS count_users FROM users_photos GROUP BY u_id';
$result = mysqli_query($con, $sql);
while ($row=mysqli_fetch_assoc($result)) {
    echo 'User id: ' . $row['u_id'] . ' Count: ' . $row['count_users'] . '<br>';
}

请记住,这只是一个基本的例子。在现实世界的应用程序中,还有很多事情要做,例如检查错误。

尝试此选择计数*,从选择的用户id中计数用户,从用户照片组中计数*按用户id临时组按计数_users@bassxzero我认为子查询中的select u_id是不必要的,如何打印它?简单地回显$sql?@bassxzero,所以我设法让它打印1-8,所以我猜使用链接中的示例2,有些用户有1张图片,最多有8张图片。但是我如何让它打印出拥有一张图片的用户总数等?但是我如何打印结果呢?尝试查看php.net->quick语句,但不知道如何打印,因此我可以在数据库中输入sql代码,然后打印结果。这对我有用!非常感谢你的帮助
$sql = $mysqli->query("SELECT count(*),u_id as 'count_users' FROM users_photos group by u_id");
// After Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT count(*),u_id as 'count_users' FROM users_photos group by u_id";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - count_users" . $row["count_users"]. "<br>";
    }
} else {
    echo "0 results";
}
$con = mysqli_connect("localhost","my_user","my_password","my_db");
$sql = 'SELECT u_id, count(*) AS count_users FROM users_photos GROUP BY u_id';
$result = mysqli_query($con, $sql);
while ($row=mysqli_fetch_assoc($result)) {
    echo 'User id: ' . $row['u_id'] . ' Count: ' . $row['count_users'] . '<br>';
}