显示用户详细信息,在他之后和之前加入的用户总数

gwbalxhn  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(349)

从一个表中,我如何定义一个id前后加入的用户总数。
比如,用户id=5。前5,4个用户注册,后5,5个用户注册。
我目前的努力,

SELECT *
FROM users
WHERE id > (
                       SELECT id 
                       FROM users
                        WHERE id = 3)
                        ||
                        id < ( SELECT id
                              FROM users WHERE id = 3)
r7xajy2e

r7xajy2e1#

如何定义在单个id之后和之前加入的用户总数?
您似乎想要条件聚合:

select 
    sum(id > 3) joined_after_3,
    sum(id < 3) joined_before_3
from users

这将为您提供一个由一行和两列组成的结果集,如果表 id 较小(分别。大于 3 .

1zmg4dgp

1zmg4dgp2#

请使用下面的查询,

select 
    case when id < 3 then count(id),
    case when id >= 3 then count(id)
from users;

相关问题