php - 按最重复的值排序 mysql 列并在 php 中显示

标签 php mysql


我想按最重复的值对某些列进行排序
像这样:
ID  名称              链接
1    Màh Di            www.website1.com
2    Fallaga 团队   www.website2.com
3    PRG                www.website3.com
4    Fallaga 团队   www.website4.com
5    Fallaga 团队   www.website5.com
6    马迪            www.website6.com
7    马迪            www.website7.com
8    PRG                www.website8.com
9    Fallaga 团队   www.website9.com
10   Fallaga 团队 www.website10.com

我想在 php 中显示它们,如下所示:

1 Fallaga 队 5 次
2 Màh Di          3 次
3 PRG             2次
我试过这个:

$qer = "SELECT Name, COUNT(Name) AS popularity
FROM fallaga_tbl
GROUP BY id
ORDER BY popularity DESC limit 2;";
$resu = mysql_query($qer, $conn );
$ro = mysql_fetch_row($resu) ;  

我把这个放在正文中:

while($ro = mysql_fetch_array($resu, MYSQL_ASSOC))
{

    echo "<tr> ".
         "<td class=\"tg-032e\"><a href=\"Names/{$ro['Name']}\">{$ro['Name']}</a></td></tr>";
        } 
mysql_close($conn);


但它工作不正常,它只显示名称,我还想显示它的重复次数和顺序 有人可以帮助我吗?
谢谢你

最佳答案

有两件事你必须做 1)进行查询

$qer = "SELECT Name, COUNT(Name) AS popularity FROM fallaga_tbl GROUP BY Name
ORDER BY popularity DESC limit 2";

2)在 while 循环中获取名称和计数

while($ro = mysql_fetch_array($resu, MYSQL_ASSOC))
{
    echo "<p>".$ro['Name'].":".$ro['popularity']."</p>";

} 
mysql_close($conn);

关于php - 按最重复的值排序 mysql 列并在 php 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23500415/

相关文章:

php - 更新方法在 codeigniter 中不起作用

mysql - 如何执行此查询 - GROUP_CONCAT

mysql - 仅选择值长度和格式 - MySQL

mysql - 按一列中的匹配值排序

php - fatal error : Class 'XSLTProcessor' not found - but is installed

php - 要求需要数据库连接的文件的正确方法

PHP OOP - 将对象的实例放入另一个类

php - 无法加载请求的语言文件 : language/en/form_validation_lang. php

android - 连接到 MySQL 数据库

c# - C#vs mysql:在sql select语句中调用函数vs在C#中获取数据并调用同一函数