[英]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 |
我需要userid
和count()
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.