Php 显示类别中最常用条目的MYSQL查询

Php 显示类别中最常用条目的MYSQL查询,php,mysql,join,Php,Mysql,Join,我有一个存储人们兴趣的数据库。我有一个查询,通过我的兴趣表,根据字段类别ID列出最流行的兴趣。但是,我只能显示categoryID而不是类别名称,如何在表中链接类别以显示类别名称而不是id 这是我的查询和输出: PHP: 输出: 足球在第9类中最受欢迎,出现10次。山羊在第4类中最受欢迎,出现1次。菲尔在第2类中最受欢迎,出现59次 谢谢 使现代化 表结构- 兴趣: 类别: 你为什么不这样把两个表连接起来: SELECT interest_desc, ( sel

我有一个存储人们兴趣的数据库。我有一个查询,通过我的兴趣表,根据字段类别ID列出最流行的兴趣。但是,我只能显示categoryID而不是类别名称,如何在表中链接类别以显示类别名称而不是id

这是我的查询和输出:

PHP:

输出:

足球在第9类中最受欢迎,出现10次。山羊在第4类中最受欢迎,出现1次。菲尔在第2类中最受欢迎,出现59次

谢谢

使现代化 表结构- 兴趣:

类别:


你为什么不这样把两个表连接起来:

SELECT interest_desc, 
       (
         select categoryName 
         from categories where categoryID = subsel.categoryId
       ), MAX(num_in_cat) AS num_in_cat 
FROM ( 
      SELECT interest_desc, categoryID, 
      COUNT(categoryID) AS num_in_cat 
      FROM interests GROUP BY interest_desc, categoryID
) 
subsel 
GROUP BY interest_desc, categoryID

你为什么不这样把两个表连接起来:

SELECT interest_desc, 
       (
         select categoryName 
         from categories where categoryID = subsel.categoryId
       ), MAX(num_in_cat) AS num_in_cat 
FROM ( 
      SELECT interest_desc, categoryID, 
      COUNT(categoryID) AS num_in_cat 
      FROM interests GROUP BY interest_desc, categoryID
) 
subsel 
GROUP BY interest_desc, categoryID

我发现你的代码有一个语法错误,有点改动-$interestCatPopular=SELECT interest\u desc,category\u desc,MAXnum\u in_cat AS num\u in_cat FROM SELECT interest\u desc,category\u desc,COUNTcategoryID AS num\u in_cat内部连接categories c on c.categoryID=categoryID FROM interest GROUP BY interest\u desc,按利息分类的海底集团,分类描述@DIM3NSION您可以发布表格结构吗?嗯,这是因为itntrested表格中的CategoryId列与categories表格之间没有关系。因此,我将更新我的答案以适应您当前的表结构,但强烈建议您使用外键连接这两个表。我发现您的代码中有一个语法错误稍微更改-$interestCatPopular=SELECT interest_desc,category_desc,MAXnum_in_cat AS num_in_cat FROM SELECT interest_desc,category_desc,COUNTcategoryID为c上c类内部联接类别c中的num_。categoryID=按利息描述的利息组类别、按利息描述的类别、按利息描述的子集组类别@DIM3NSION您可以发布表格结构吗?嗯,这是因为itntrested表格中的CategoryId列与categories表格之间没有关系。因此,我将更新我的答案以适应您当前的表结构,但强烈建议您使用外键连接这两个表。
Field   Type    Collation   Attributes  Null    Default Extra   Action
categoryID  int(11)         No  None    AUTO_INCREMENT                          
category_desc   varchar(100)    utf8_general_ci     No  None                                                        
SELECT interest_desc, 
       (
         select categoryName 
         from categories where categoryID = subsel.categoryId
       ), MAX(num_in_cat) AS num_in_cat 
FROM ( 
      SELECT interest_desc, categoryID, 
      COUNT(categoryID) AS num_in_cat 
      FROM interests GROUP BY interest_desc, categoryID
) 
subsel 
GROUP BY interest_desc, categoryID