Php 计算一个值的行数和另一个值的行数,并输出表中出现的最小值

Php 计算一个值的行数和另一个值的行数,并输出表中出现的最小值,php,mysql,Php,Mysql,我想知道是否可以在一个MySQL表中计算pet列中包含值Cat的行数,并在pet列中包含值Dog的同一个表中计算行数。并比较每个查询返回的行数,如果包含Cat的行少于包含Dog的行,则输出“Cat”,反之亦然 编辑:这是我想要的一个例子 $pet = mysql_query("SELECT squad, COUNT(pet) FROM mytable WHERE pet IN ('cat', 'dog', 'horse', 'snake') GROUP BY pet ORDER BY COUNT

我想知道是否可以在一个MySQL表中计算pet列中包含值Cat的行数,并在pet列中包含值Dog的同一个表中计算行数。并比较每个查询返回的行数,如果包含Cat的行少于包含Dog的行,则输出“Cat”,反之亦然

编辑:这是我想要的一个例子

$pet = mysql_query("SELECT squad, COUNT(pet) FROM mytable WHERE pet IN ('cat', 'dog', 'horse', 'snake') GROUP BY pet ORDER BY COUNT(pet) DESC LIMIT 1") or die(mysql_error());
echo $pet; // this should output the pet with the lowest number of rows

因此,根据哪只宠物的行数最少,它应该会回显猫、狗、马或蛇。

您可以使用mysql中的COUNT函数明确地执行此操作,并让php比较值。

从表中,宠物选择猫和狗,对它们进行分组,并对每个组的成员进行计数。然后选择最上面的组

SELECT pet, COUNT(pet)
FROM yourtable
WHERE pet IN ('Dog', 'Cat')
GROUP BY pet
SELECT pet, COUNT(pet)
FROM pets
WHERE pet IN ('Cat', 'Dog')
GROUP BY pet
ORDER BY COUNT(pet)
LIMIT 1

这可以很容易地扩展到更多类型的宠物。

我想你需要共享一些代码。当然有可能:@BasicBridge我用一些代码编辑了我的帖子。我想过这样做,但我想我可以通过使用一个MySQL查询来缩短代码。
SELECT pet, COUNT(pet)
FROM pets
WHERE pet IN ('Cat', 'Dog')
GROUP BY pet
ORDER BY COUNT(pet)
LIMIT 1