0

テーブルから行を選択し、カテゴリ列でグループ化するこのSQLコードがあります

echo '<strong>Categories</strong><br>';
    $sql="SELECT * from tickets where deleted = '' and DAY(datetime) = '04' and MONTH(datetime) = '".date("m")."' and YEAR(datetime) = '".date("Y")."' group by category order by datetime ASC ";
    $rs=mysql_query($sql,$conn);
    while($result=mysql_fetch_array($rs))
    {
        echo $result["category"].' ('.mysql_num_rows($rs).')<br>';
    }

行数を表示すると、各行に同じ数が表示されます。

各「カテゴリ」の横に正しい番号を表示するにはどうすればよいですか?

4

2 に答える 2

1
SELECT *, COUNT(category) AS my_groupcount from tickets

echo $result["category"].' ('.$result["my_groupcount"].')<br>';
于 2013-09-09T23:39:37.847 に答える
0

COUNT関数を使用して、各カテゴリ グループに含まれるチケットの数を表示する場合、おそらくこのようなクエリを実行することをお勧めします。

SELECT  category, COUNT(id) AS NumTickets, MIN(datetime) AS FirstDateTime
FROM tickets 
WHERE deleted = '' AND DAY(datetime) = 4 AND
        MONTH(datetime) = 12 AND YEAR(datetime) = '2012' 
GROUP BY category 
ORDER BY MIN(datetime)
于 2013-09-09T23:44:20.397 に答える