簡體   English   中英

按 id 計算數據庫行

[英]count database rows by id


我正在嘗試從數據庫中計算$active_ids 但我不知道如何做到最好。 作為免責聲明,我仍在學習 MySQL/PHP。

這就是它現在的回聲

1, 3, 4, 1, 1

如果計算它會是什么樣子

3, 1 ,1


    <?php

    $active_ids = '1, 3, 4';

        $query = "SELECT * FROM users WHERE id IN ({$active_ids})";
        $result = $mysqli->query($query);

        if($result->num_rows > 0){

                while($row = $result->fetch_assoc()){
                    echo $row['username'], "<br/>";
                }

            $query = "SELECT COUNT(*) FROM timetable WHERE dj IN ({$active_ids})";
            $result = $mysqli->query($query);
                while($row = $result->fetch_assoc()){
                    echo $row['dj'], "<br/>";
            }
        }
    ?>

我不太了解 PHP,但我了解 SQL。 聽起來您想使用 GROUP BY 子句,如下所示:

select dj, count(*) as n from timetable
    where dj in ({$active_ids})
    group by dj

選擇的每一行將有兩列。 第一列(名為“dj”)是 dj 的用戶 ID,第二列(名為“n”)是時間表中具有該 dj id 的條目數。 您應該能夠像這樣打印計數:

echo $row['n'], "<br/>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM