当前位置: 首页 > 面试题库 >

SQL COUNT(*)返回错误的答案

张亦
2023-03-14
问题内容

以下脚本应返回部门的名称以及这些部门中的雇员人数,市场营销,执行和销售部门的雇员为‘0’,但返回的值为‘1’,而不是‘0’。我该如何纠正?

select Department, Departments.DepartmentID, count(*) as 'NumOfEmps' 
from Departments
left join Employees
on   Employees.DepartmentID = Departments.DepartmentID
group by Departments.DepartmentID,Department

在此处输入图片说明


问题答案:

不要使用Count(*)数数您想数数的员工。

Count(*)计算整行。由于在进行计数(*)时,部门中每个部门始终至少会有一个记录,因此您总是会获得至少1条记录

SELECT d.Department, d.DepartmentID, count(e.EmployeeID)
FROM Departments d
    LEFT JOIN employees e
    ON d.DepartmentID = e.DepartmentID
GROUP BY 
 d.Department, d.DepartmentID

演示



 类似资料:
  • 问题内容: 例如,这样简单的事情: 打印110.00000000000001而不是110。使用其他数字代替100 * 1.1还会给出很多数字,并且末尾有一些随机数字,这是不正确的。 有任何想法吗? 问题答案: 浮点符号的准确性有限。这是一个指南:http : //floating-point- gui.de/

  • 链接到挑战 拉梅什和苏雷什每人在彩票上都会得到一个满满五颗星的盒子。由于两个盒子不需要相同数量的巧克力,他们决定玩游戏。获胜者可以同时拥有两盒巧克力。他们交替玩,苏雷什开始游戏。给定两个盒子中的巧克力数量,让它们成为c1和c2,玩家取c1或c2数量的巧克力,并将剩余的一盒巧克力分成两盒(这两个盒子不需要相同数量的巧克力)。不能做出这种举动的玩家输了。输入 输入的第一行包含一个数字 T(1 (1 输

  • 基类控制器里有error方法,用于api的错误消息返回输出 /** * 操作错误跳转的快捷方法 * @access protected * @param mixed $msg 提示信息,若要指定错误码,可以传数组,格式为['code'=>您的错误码,'msg'=>'您的错误消息'] * @param mixed $data 返回的数据 * @par

  • 我是JS的学生。我有一段代码返回了一个错误。 这是返回的语法错误。你们能解释一下我做错了什么吗?

  • 我有以下字符串: 我在这个字符串上使用方法,如下所示: 但是它返回给我一个意外的字符串,即:< code >“oGo(o)o(oaolo)o” 而它的输出应该是:< code >“Go(al)” 有人能解释这种行为吗? 以及如何使用replace eAll方法进行转换 to 到

  • 问题内容: 我有以下代码: 那应该从给定的URL返回图像。 我测试了以下两个随机选择的URL: https://www.google.co.ma/images/srpr/logo4w.png http://www.earthtimes.org/newsimage/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg 第