gpt4 book ai didi

sql - 查询

转载 作者:行者123 更新时间:2023-11-29 11:48:43 25 4
gpt4 key购买 nike

我正在使用 postgresql 设置并且我有一个类似这样的表:

sec_id     prod_id
1 789
1 908
1 678
13 789
13 123
13 908
15 789

我希望能够确定 sec_id 中的重叠(公共(public) prod_id)。也就是说,我希望能够输出类似于以下内容的内容:

sec_id1    sec_id2    overlap
1 13 2
1 15 1
13 1 2
13 15 1
15 1 1
15 13 1

我在这方面没有太多经验,如果有任何帮助,我将不胜感激。

最佳答案

我习惯了 MySQL,所以你可能需要稍微调整一下 postgres 的语法:

SELECT a.sec_id AS sec_id1, b.sec_id AS sec_id2, COUNT(*) AS overlap
FROM tblname AS a JOIN tblname AS b
WHERE a.prod_id = b.prod_id AND a.sec_id != b.sec_id
GROUP BY a.sec_id, b.sec_id

这可能适用于 PostgreSQL(以及 MySQL):

SELECT a.sec_id AS sec_id1, b.sec_id AS sec_id2, COUNT(*) AS overlap
FROM tblname AS a JOIN tblname AS b ON a.prod_id = b.prod_id
WHERE a.sec_id != b.sec_id
GROUP BY a.sec_id, b.sec_id

关于sql - 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com