繁体   English   中英

PostgreSQL:同一张表多次join取数据怎么办?

[英]PostgreSQL: How do I join same table multiple times and take data?

我的桌子是这样的:

C1 C2 用户身份
1个 50 100
2个 40 101
3个 30 102
4个 20 103
5个 10 104

我需要useridcount() userid WHERE (Condition satisfied) 通过输入

userid IN (100,101,102,103,104,105)

条件是:

 C1 > (input userid's C1) and C2 < (input userid's C2) 

我需要这样的:

用户身份 数数
100 4个
101 3个
102 2个
103 1个

加入并聚合如下:

SELECT D.userid, COUNT(*) cnt 
FROM table_name T JOIN table_name D
ON T.C1 > D.C1 AND T.C2 < D.C2
WHERE D.userid IN (100,101,102,103,104,105)
GROUP BY D.userid
ORDER BY D.userid

看一个演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM