Sql 如何在postgres中从数组列中获取元素的值和记录计数

Sql 如何在postgres中从数组列中获取元素的值和记录计数,sql,postgresql,Sql,Postgresql,假设我在Postgres中有下表: 创建表格电影( id串行主键, 标题文本, actor_id bigint[] ) 我怎样才能知道每个演员主演过多少部电影?我应该这样印刷: actor_id|count ---------------- 53 | 4 92 | 13 132 | 1 1221 | 2 “演员ID”列是一个数组,其中包含电影中主演演员的ID。您需要首先取消对该数组的测试,然后应用group by和count select a.act

假设我在Postgres中有下表:

创建表格电影(
id串行主键,
标题文本,
actor_id bigint[]
)
我怎样才能知道每个演员主演过多少部电影?我应该这样印刷:

actor_id|count
----------------
53       | 4
92       | 13
132      | 1
1221     | 2

“演员ID”列是一个数组,其中包含电影中主演演员的ID。

您需要首先取消对该数组的测试,然后应用group by和count

select a.actor_id, count(*)
from movies m
  cross join unnest(m.actor_ids) as a(actor_id)
group by a.actor_id
order by a.actor_id;

您需要首先取消数组的测试,然后应用group by和count

select a.actor_id, count(*)
from movies m
  cross join unnest(m.actor_ids) as a(actor_id)
group by a.actor_id
order by a.actor_id;

对,删除了评论。没有记录数组的位置。是的,很好。感谢您花时间阅读我的问题。对,删除了评论。没有记录数组的位置。是的,很好。感谢您抽出时间阅读我的问题。这项工作做得很好,非常感谢!我想这会是一件很不舒服的事。祝你过得愉快!这项工作做得很好,非常感谢!我想这会是一件很不舒服的事。祝你过得愉快!