PostgreSQL:如何多次连接同一个表并获取数据?

jc3wubiy  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(265)

我的表是这样的:
| C1级|C2级|用户标识|
| - -|- -|- -|
| 一个|五十个|100个|
| 2个|四十|一百零一|
| 三个|三十|一百零二|
| 四个|二十个|一百零三|
| 五个|10个|一百零四|
我需要输入useridcount()用户ID WHERE(满足条件)

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

条件是:

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

我需要这样:
| 用户标识|计数|
| - -|- -|
| 100个|四个|
| 一百零一|三个|
| 一百零二|2个|
| 一百零三|一个|

h7appiyu

h7appiyu1#

按以下方式联接和聚合:

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

请参见demo

相关问题