PHP:如何从数据库中计算值,并创建统计值前10名排行榜

PHP:如何从数据库中计算值,并创建统计值前10名排行榜,php,sql,arrays,database,Php,Sql,Arrays,Database,我将如何创建一种方法来统计和显示这样一个排行榜,它是按值出现的次数组织的? 示例数据库: Bob Joe Bob Bob Joe Sandra 然后这张桌子就会 Bob - 3 Joe - 2 Sandra - 1 我不确定这是怎么做到的。谢谢 这样的查询是: SELECT Name, COUNT(Name) AS CounterNames FROM table_name GROUP BY Name ORDER BY CounterNames DESC LIMIT 10 因为您需

我将如何创建一种方法来统计和显示这样一个排行榜,它是按值出现的次数组织的? 示例数据库:

Bob
Joe
Bob
Bob
Joe
Sandra
然后这张桌子就会

Bob - 3
Joe - 2
Sandra - 1 

我不确定这是怎么做到的。谢谢

这样的查询是:

SELECT Name, COUNT(Name) AS CounterNames
 FROM table_name
 GROUP BY Name
 ORDER BY CounterNames DESC
 LIMIT 10
因为您需要名称并且还想计算名称,所以您选择了这些名称,但不希望名称在数据库中是两倍的,因此您使用的是
分组依据

按列名称DESC排序是指您在计数器之后排序,且先有最大值(DESC)。

限制,因为您只需要前10名。

您使用MySQL吗?您正在寻找具有
分组依据
计数
的基本SQL查询。再多看一点。那么,当显示数据时,这将如何进行?到目前为止,我有这样一个查询(“按名称顺序按计数器名称描述限制10选择名称,将(名称)计数为表_Name GROUP中的计数器名称”);虽然($row=$result->fetch_assoc()){if($result->num_rows>0){if($row=$result->fetch_assoc()){$Top=$row['CounterNames'];}}}echo$Top;}
但这只回显1。我认为我的查询在显示I时是错误的。您有多少条条目?您只需为变量
$top
提供名称计数次数的值。条目与上面的示例数据库类似。但是,我如何使用您提供的查询使其显示为上面的样子?
echo$row['Name']。“-”$row['CounterNames']