Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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
Mysql 与最后一个限制行的值相等_Mysql_Limit - Fatal编程技术网

Mysql 与最后一个限制行的值相等

Mysql 与最后一个限制行的值相等,mysql,limit,Mysql,Limit,我使用限制查询来获得前5名董事的列表,同时计算他们的作品总数,例如: a 137 b 120 c 90 d 76 e 52 它确实有效,但如果最后一行中也有一些名称的作用相同呢。而且它经常发生 f 52 g 52 h 52... 查询是: SELECT T_people.person, COUNT(ID_films) AS CountOfID_films FROM ((MT_films JOIN ST_peoplefilms ON ((MT_films.ID_fil

我使用限制查询来获得前5名董事的列表,同时计算他们的作品总数,例如:

a 137
b 120
c 90
d 76
e 52
它确实有效,但如果最后一行中也有一些名称的作用相同呢。而且它经常发生

f 52
g 52
h 52...
查询是:

SELECT 
   T_people.person,
   COUNT(ID_films) AS CountOfID_films
FROM
   ((MT_films
   JOIN ST_peoplefilms ON ((MT_films.ID_films = ST_peoplefilms.ID_films)))
   JOIN T_people ON ((T_people.ID_person = ST_peoplefilms.ID_person)))
GROUP BY T_people.person, T_people.man
HAVING (T_people.man = 1)
ORDER BY COUNT(ST_peoplefilms.ID_films) DESC
LIMIT 5

非常感谢

创建一个子查询,给出前5名总数。然后使用您现在拥有的(您可以删除
LIMIT 5
和排序),并对子查询中的总计应用
internal JOIN
。这将过滤掉所有不相关的行。

好吧,问题是还要得到最后一行的所有相等值。如果你喜欢,考虑下面简单的两步行动:1。如果您还没有这样做,请提供适当的CREATE和INSERT语句(和/或SQLFIDLE),以便我们可以更轻松地复制问题。2.如果您还没有这样做,请提供与步骤1中提供的信息相对应的所需结果集。亲爱的Gruber,它已经返回了前5个名称,但是如何连接子查询以返回与第5个名称相同的所有结果集?谢谢s@KostasKonstantinidis:您根据前5个总计(子查询中的整数值)进行联接,这样可以确保所有总计在前5位的条目都将被返回,而不会返回任何其他条目。