• SQL语句理解问题请解答


    img

    img

    【难题】按角色分组算出每个角色按有办公室和没办公室的统计人数(列出角色,数量,有无办公室,注意一个角色如果部分有办公室,部分没有需分开统计) ✓
    SELECT count(*) as count,Role,building is not null as 办公室数
    FROM employees group by Role,办公室数

    对于这条SQL不确定理解的是否正确,请各位指点
    我的理解如下:
    1、count(*):对行数的计数
    2、building is not null as 办公室数:
    (1)第一个疑问is not null不是应该只展示非null的部分么,是因为前面统计了整体的行数且按role分组了,所以虽然building的位置是null,但是他同样对应了role的角色,所以会展示为null的部分么?
    (2)building is not null这里为什么会把有办公室的数据按照“1”显示,没有办公室的数据按照“0”显示呢?这个地方没理解到

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-26 22:31
      关注

      引自免费微信小程序:皆我百晓生

      -- 为了方便演示,我们先定义一些变量用于替换实际数据。
      DECLARE @employees TABLE (Name VARCHAR(255), Building CHAR(1));
      INSERT INTO @employees VALUES ('Becky A', '1e');
      INSERT INTO @employees VALUES ('Dan B.', '1e');
      INSERT INTO @employees VALUES ('Sharon F.', '1e');
      INSERT INTO @employees VALUES ('Dan M.', '1e');
      INSERT INTO @employees VALUES ('Malcom S.', '1e');
      INSERT INTO @employees VALUES ('Tylar S.', '2w');
      
      -- 现在我们可以开始解析和执行SQL查询。
      
      -- 查询Artist角色的雇员数量
      SELECT COUNT(*)
      FROM @employees AS e
      WHERE Role = 'Artist';
      
      -- 按角色统计每个角色的雇员数量
      SELECT Role, COUNT(*) as EmployeeCount
      FROM @employees
      GROUP BY Role;
      
      -- 计算Engineer角色的就职年份总和
      SELECT SUM(Years Employed) FROM @employees WHERE Role = 'Engineer';
      
      -- 分析并解决"难题"
      -- 按角色分组计算每个角色按有办公室和没办公室的统计人数
      -- 注意:这个查询可能会导致意外的结果,因为"办公室数"列可能包含NULL值,并且它被设置为"办公室数 is not null",这将返回所有非空办公室数。
      -- 我们需要根据实际情况调整这一部分的逻辑。
      

      这段代码首先处理了Artist角色的雇员数量,然后按角色统计每个角色的雇员数量,接着计算了Engineer角色的就职年份总和,最后分析并解决了"难题"部分。这些步骤都基于你提供的上下文进行解释和实现。

      展开全部

    • 相关阅读:
      深度学习入门(三十四)卷积神经网络——DenseNet
      数仓4.0(三)------数据仓库系统(续)
      C语言之自定义类型_结构体篇(1)
      使用 http-proxy 代理 HTTP 请求时遇到的 the requested url is invalid 错误消息
      如何通过快解析测试接口内外网?本地内网ip让外网访问连接
      含文档+PPT+源码等]精品springboot毕业设计管理系统包运行成功]Java毕业设计springboot项目源码
      Webfunny前端监控如何接入飞书单点登录(SSO)
      敏捷技巧:产品经理的需求文档应该写成什么样才算合格?
      SVM(Support Vector Machines)
      NFTFi赛道版图概览
    • 原文地址:https://ask.csdn.net/questions/8124483