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