我的Postgres DB(v14)中有两个表,标签和位置。
标签示例:
id | tag_name
----+------------
1 | football
2 | tennis
3 | athletics
4 | concert
位置示例(其中tag_ids是int数组):
id | name | tag_ids
----+--------------+------------
1 | Wimbledon | {2}
2 | Wembley | {1,4}
3 | Letzigrund | {3,4}
如何找到标记的名称以及它们被使用了多少次?查询结果应该如下所示:
tag_name | count
------------+-------
football | 1
tennis | 1
athletics | 1
concert | 2
2条答案
按热度按时间p5cysglq1#
您可以使用联接和GROUP BY执行此操作:
8zzbczxx2#
首先将
locations
展平为t
CTE,然后与tags
连接。参见demo。