我有两张table。1)dbo。电影
+------------+-------------+------------+
| movie_id | movie_name | actor_id |
+------------+-------------+------------+
| 1 | name1 | 1 |
| 2 | name2 | 1 |
| 3 | name3 | 4 |
| 4 | name4 | 2 |
| 5 | name5 | 1 |
| 6 | name6 | 5 |
| 7 | name7 | 3 |
+------------+-------------+------------+
- dbo.actors
+------------+-------------+
| actor_id | actor_name |
+------------+-------------+
| 1 | name1 |
| 2 | name2 |
| 3 | name3 |
| 4 | name4 |
| 5 | name5 |
+------------+-------------+
我想SELECT
在大多数电影中播放的actor_id
和actor_name
。
虽然我知道如何找到一个演员演过最多的电影,但我找不到那个演员是谁:
select max(y.x)
from (select count(actor_id) as x from movies group by actor_id) y
7条答案
按热度按时间xzlaal3s1#
连接
actors
表以获取名称,按计数排序,并仅获取第一条记录如果两个演员演了同样数量的电影,我想得到他们两个呢?
一种方法是
roejwanj2#
给一个排名的基础上,电影的计数,然后加入演员表。
或者最后部分可以如下所示。
6l7fqoea3#
检查这个。
使用MAX:
用TotalMovies显示所有演员
使用TOP 1:
velaa5lx4#
放置另一个选择
pkln4tw65#
试试这个:
0x6upsns6#
只需从子查询中选择
actor_id
,按降序排列并选择顶部记录。对于第2个问题
qcuzuvrc7#