首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写一个查询,根据监视器的数量(userID)为每个用户创建新列(monitorID)

编写一个查询,根据监视器的数量(userID)为每个用户创建新列(monitorID)
EN

Stack Overflow用户
提问于 2020-12-31 07:45:17
回答 1查看 67关注 0票数 0

我对SQL很陌生。我正在尝试编写一个查询,它根据监视器的数量(userID)为每个用户创建新列(monitorID)。

我的意图是使用公共表表达式(CTE)来计数监视器的数量,然后使用子查询来创建基于监视器计数的新列。

查询

代码语言:javascript
复制
WITH monitors_count AS (
SELECT userID, count(monitorID) as monitors_count,
FROM monitors
GROUP BY userID
)
 
SELECT
    userID,
    (SELECT 
        CASE 
            WHEN monitors_count.monitors_count > 100 THEN "> 100"
            ELSE "<100"
    END;
    FROM monitors AS inside_monitors
    WHERE inside_monitors.userID = outside_monitors.userID
    )
 
FROM monitors AS outside_monitors

谢谢你的建议。

EN

回答 1

Stack Overflow用户

发布于 2020-12-31 09:05:30

代码语言:javascript
复制
 WITH monitors_count AS (
    SELECT userID, count(monitorID) as monitors_count
    FROM monitors
    GROUP BY userID
    )
     
    SELECT
        monitors.UserID,
        CASE 
        WHEN monitors_count.monitors_count > 100 THEN "> 100"
        ELSE "<100" end as monitor_count
    FROM monitors inner join monitors_count
    On monitors.UserID= monitors_count.UserID
    Group By monitors.UserID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65518055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档