Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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 Sql计数(*)单个查询中每个id的相关项数_Php_Mysql_Sql_Count - Fatal编程技术网

Php Sql计数(*)单个查询中每个id的相关项数

Php Sql计数(*)单个查询中每个id的相关项数,php,mysql,sql,count,Php,Mysql,Sql,Count,老实说,我不知道该在标题中加什么,但问题是: 我有一个表(电影演员)指的是演员和他们相关的电影。比如: AID | MID AC01 | MV1 AC02 | MV1 AC01 | MV2 AC02 | MV3 AC01 | MV3 因此,我提出了如何通过以下sql查询通过演员获取与MV1相关的所有电影: SELECT movie_actor.MID FROM movie_actor WHERE AID IN ( SELECT AID FROM movie_actor WHERE IN MID

老实说,我不知道该在标题中加什么,但问题是:

我有一个表(电影演员)指的是演员和他们相关的电影。比如:

AID | MID
AC01 | MV1
AC02 | MV1
AC01 | MV2
AC02 | MV3
AC01 | MV3
因此,我提出了如何通过以下sql查询通过演员获取与MV1相关的所有电影:

SELECT movie_actor.MID
FROM movie_actor
WHERE AID
IN ( SELECT AID FROM movie_actor WHERE IN MID = "MV1") AND movie_actor.MID<>"MV1"
现在我真正想得到的是MV1的相关电影以及相应数量的相关电影。基本上:

MID | Number of Related Movies
MV2 | 2 (MV1, MV3)
MV3 | 2 (MV1, MV2)
现在,我可以使用count(*)和我前面提到的查询来获得它

SELECT COUNT(*)
FROM movie_actor
WHERE AID
IN (
SELECT AID
FROM movie_actor
WHERE MID="MV2")
但我必须单独这样做,我可以用php(尝试过,处理大量数据时速度较慢)来消除这一点。可以在一个查询中完成吗

另外,如果我能做到这一点,它会比用php更快吗

抱歉,如果我有奇怪的格式,新的:) 也请原谅我的无知

SELECT movie_actor.MID FROM movie_actor WHERE AID IN ( SELECT AID FROM movie_actor WHERE IN MID = "MV1") group by MID 
SELECT movie_actor.MID FROM movie_actor WHERE AID IN ( SELECT AID FROM movie_actor WHERE IN MID = "MV1") group by MID