我有这样一个表:

Article_Name   Category_ID
-------------  -----------
Penguins            20
Penguins            20
Penguins            20
Lions               20
Tigers              20
Tigers              20
Tigers              20
Tigers              20
Electricity         21
Power Plants        21
Buddhism            22


我想在另一个表中列出带有计数的输出。我可以得到计数,也可以列出行,但不能将两者合并。我正在寻找这样的输出:

Article_Name      Count
-------------  -----------
Penguins            3
Lions               1
Tigers              4


我得到的COUNT如下:

$query = "SELECT COUNT(Article_Name) FROM Votes WHERE Category_ID = '20' GROUP BY Article_Name";
$result = mysqli_query($conn, $query);
if($result === FALSE) {                                                                                         die(mysqli_error());                                                                                    }
while ($row = mysqli_fetch_array($result)) {echo "HTML goes here";};


但这从字面上只会让我知道数字。

最佳答案

GROUP BY子句将每个Article_Name的所有记录分组,然后COUNT()函数与GROUP BY一起为每个Category_ID计数Article_Name的数量。

试试这个查询:

"SELECT Article_Name,COUNT(*)
FROM Votes
WHERE Category_ID = '20' GROUP BY Article_Name";


输出:-

+--------------+----------+
| Article_Name | COUNT(*) |
+--------------+----------+
| Penguins     |        2 |
| Lions        |        1 |
| Tigers       |        2 |
+--------------+----------+

关于php - 如何在COUNT旁边列出MySql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34851796/

10-11 22:34
查看更多