Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按子表数排序的父表_Php_Mysql_Sql_Parent - Fatal编程技术网

Php 按子表数排序的父表

Php 按子表数排序的父表,php,mysql,sql,parent,Php,Mysql,Sql,Parent,我有一个tbl_用户,它包含关于用户的信息,我有一个tbl_文章,它包含文章+tbl_用户的ID 我们有一个父子关系,因为每个用户都可能有许多文章,这就是为什么我在文章表中包含user_id 我想列出拥有最多文章的10个用户。。。我到处都搜索过,虽然找不到它……我想了想,但徒劳无功,我不擅长SQL查询 先谢谢你 SELECT TOP 10 UserID, COUNT(Article) FROM tbl_User u INNER JOIN tbl_Article a ON a.Us

我有一个tbl_用户,它包含关于用户的信息,我有一个tbl_文章,它包含文章+tbl_用户的ID

我们有一个父子关系,因为每个用户都可能有许多文章,这就是为什么我在文章表中包含user_id

我想列出拥有最多文章的10个用户。。。我到处都搜索过,虽然找不到它……我想了想,但徒劳无功,我不擅长SQL查询

先谢谢你

SELECT TOP 10
    UserID, COUNT(Article)
FROM tbl_User u
INNER JOIN tbl_Article a
    ON a.Userid = u.userid
GROUP BY userid
ORDER BY COUNT(article) DESC
您所需要的只是一个
分组依据
和一个
加入

如果用户可能希望包含0篇文章,则应使用
左连接

如果担心重复,您还可以选择
计数(不同的文章)

SELECT TOP(10)
  tbl_user.id,
  COUNT(tbl_article.user_id)
FROM
  tbl_user
LEFT JOIN
  tbl_article
    ON tbl_user.id = tbl_article.user_id
GROUP BY
  tbl_user.id
ORDER BY
  COUNT(tbl_article.user_id) DESC
LIMIT
  10
您所需要的只是一个
分组依据
和一个
加入

如果用户可能希望包含0篇文章,则应使用
左连接

如果担心重复,您还可以选择
计数(不同的文章)

SELECT TOP(10)
  tbl_user.id,
  COUNT(tbl_article.user_id)
FROM
  tbl_user
LEFT JOIN
  tbl_article
    ON tbl_user.id = tbl_article.user_id
GROUP BY
  tbl_user.id
ORDER BY
  COUNT(tbl_article.user_id) DESC
LIMIT
  10
根据您使用的RDBMS,您可能需要
TOP(10)
LIMIT 10
,等等。我将两者都包括在内,以便您可以查看,但只使用RDBMS使用的一个;)



根据您使用的RDBMS,您可能需要
TOP(10)
LIMIT 10
,等等。我将两者都包括在内,以便您可以查看,但只使用RDBMS使用的一个;)

您正在使用什么RDBMS?如果第十名的排名是平手呢?我只是在用mySQL和PHP。。。这是关于一个网络项目你在用什么关系数据库?如果第十名的排名是平手呢?我只是在用mySQL和PHP。。。是关于一个网络项目的谢谢这么多朋友+1,我将尝试以下方法:-)如果前10名中有一篇文章为0篇,则不包括在内;)如果他们有0篇文章,那么他们不应该被包括在内,我猜,因为会有一个无限的方式与所有没有文章的其他用户联系;([+1无论如何,因为像我一样肛门并不总是有帮助:)@Dems-LOL很抱歉打破了你的泡泡!我会给你加张便条。非常感谢你的朋友+1,我将尝试以下方法:-)如果前10名中有一篇文章为0篇,则不包括在内;)如果他们有0篇文章,那么他们不应该被包括在内,我猜,因为会有一个无限的方式与所有没有文章的其他用户联系;([+1无论如何,因为像我一样肛门并不总是有帮助:)@Dems-LOL很抱歉打破了你的泡泡!我会给你加一张便条。谢谢你的朋友+1,我已经让它工作了,只要有选择两个最佳答案的选项;)@SimoTAQI-Awwwwww,我先有了
限制
版本;)你得到了你需要的,这才是最重要的。不是我的虚荣心。或者需要外部的赞扬和辩护。我的存在并不依赖于投票和积分。哎呀,那我来看看你们两人之间的第一次对话:-)好,最好的回答:-)接受这一次很好:)他确实是第一个。@Dems跳了一个点舞,笑着在地板上打滚。谢谢你的朋友+1,我已经让它工作了,只要有选择两个最佳答案的选项;)@SimoTAQI-Awwwwww,我先有了
限制
版本;)你得到了你需要的,这才是最重要的。不是我的虚荣心。或者需要外部的赞扬和辩护。我的存在并不依赖于投票和积分。哎呀,那我来看看你们两人之间的第一次对话:-)好,最好的回答:-)接受这一次很好:)他确实是第一个。@Dems跳了一支舞,笑着在地板上打滚。