SQL计数行并按顺序显示

时间:2013-12-10 09:07:20

标签: php mysql

假设我有一个名为animals的表,其中包含名为“id”,“name”和“type”的列。最后一栏是牛,鸡,马,猪,大象,河马等。

我想要的是一个计算类型数量的查询,并按照这样的顺序显示它们......

鸡肉45 奶牛40
马5
等...

现在我只想显示最高金额的10。我使用这个查询...

$result = mysql_query("SELECT * FROM animals ORDER BY id DESC LIMIT 0, 10");

while($row = mysql_fetch_array($result))
{

echo "<tr><td>" . $row['type']. "</td><td align=\"right\"></td></tr>";
}

上面的代码只显示类似

的类型









等...

我不知道如何使用计数器并以最高价值排序。

3 个答案:

答案 0 :(得分:1)

请尝试以下查询:

Select type, count(type) as type_count FROM animals GROUP BY type ORDER BY type_count desc LIMIT 0, 10

答案 1 :(得分:0)

试试这个:

select name, count(name) as total from animals
 group by name order by total desc limit 10

答案 2 :(得分:0)

尝试:

select 
    top 10 type, Count(*) 
from 
    animals 
group by 
    type 
order by 
    count(*) desc,type