当前位置: 首页 > 知识库问答 >
问题:

如果Count(distinct)为0,则显示数据

庞元青
2023-03-14

SQL Server 2008

SQL查询显示IP地址(如果存在)

SELECT [IP_ADDR1_TEXT], COUNT(distinct [IP_ADDR1_TEXT]) as Instances
FROM sem_computer, [dbo].[V_SEM_COMPUTER]
WHERE sem_computer.COMPUTER_ID = [dbo].[V_SEM_COMPUTER].COMPUTER_ID
AND [IP_ADDR1_TEXT] = '10.10.10.10'
GROUP BY [IP_ADDR1_TEXT]

输出

IP_ADDR1_TEXT   Instances
10.10.10.10         1
SELECT [IP_ADDR1_TEXT], COUNT(distinct [IP_ADDR1_TEXT]) as Instances
FROM sem_computer, [dbo].[V_SEM_COMPUTER]
WHERE sem_computer.COMPUTER_ID = [dbo].[V_SEM_COMPUTER].COMPUTER_ID
AND [IP_ADDR1_TEXT] = '10.10.10.11'
GROUP BY [IP_ADDR1_TEXT]
IP_ADDR1_TEXT   Instances
10.10.10.11         0

IP_ADDR1_TEXT是

列强制转换(IP_ADDR1<0则0xFFFFFFFFF+IP_ADDR1否则IP_ADDR1 END/256/256/256&0xFF为VARCHAR)+“.”+强制转换(IP_ADDR1<0则0xFFFFFFFF+IP_ADDR1否则IP_ADDR1结束/256/256和0xFF为VARCHAR时的情况)+“.”+强制转换(IP_ADDR1<0则0xFFFFFFFF+IP_ADDR1否则IP_ADDR1 END/256&0xFF为VARCHAR时的情况)+“.”+强制转换(IP_ADDR1<0然后0xFFFFFFFF+IP_ADDR1否则IP_ADDR1结束和0xFF为VARCHAR时的情况)

共有1个答案

漆雕修能
2023-03-14
SELECT [IP_ADDR1_TEXT], COALESCE(COUNT(distinct [IP_ADDR1_TEXT]),0) as Instances
FROM sem_computer LEFT JOIN [dbo].[V_SEM_COMPUTER]
  ON sem_computer.COMPUTER_ID = [dbo].[V_SEM_COMPUTER].COMPUTER_ID
AND [IP_ADDR1_TEXT] = '10.10.10.11'
GROUP BY [IP_ADDR1_TEXT]
 类似资料:
  • 如果值为空,则需要在单元格中显示一个不间断的空格。这是我的模板: 我试过这个,但不管用: 它返回值的问题是: 如果许可证号带有值,则单元格为空,行颜色如下所示。 利用卢库马的建议,它表明了这一点: 更改筛选器中的if语句后,仍然不显示非值:

  • SQL架构: 我需要这样显示我的结果: 结果显示表SNMASTER的前5行 然后查看表事务,并在有OPERATION_ID时写入1

  • 问题内容: 我在MySql Company中有两个表:(cname,city)工作:(ename,cname,salary) 我想显示每个公司的员工人数,即使该人数为零。 例如 输出应为: 但是以下查询和其他类似查询仅显示那些至少拥有一名员工的公司: 如果我使用外部联接,则员工数为零的公司仍将显示在一行中,因此该选项也将退出。 怎么做? 问题答案: LEFT JOIN的经典案例:

  • 问题内容: 我有两个表,一个是Employee,而邮寄Subscriptions Employee则如下所示: 名称(pk)| 姓| 年龄 邮件订阅 MailId(pk)| EmployeeName(fk)|描述| 日期 我想为每个客户订阅号,因此我尝试了以下查询: 它将为我提供邮件订阅中 具有 条目的每个员工的所有计数。 我的问题是我想查看所有员工的计数,包括没有条目的员工数(因此显示为0),我

  • 问题内容: 我正在尝试收集昨天在我的CP中不同访问的次数,然后计算它们。 由于某些原因,这会使用相同的站点ID提取多个结果。…我如何只提取并计算不同的site_id cp登录数? 问题答案:

  • 问题内容: 以下查询仅返回已下订单的区域的“区域名称”。 如何修改它,以便即使“ COUNT”为“ 0”时也显示所有区域名称? 问题答案: 您需要将Regions更改为Regions或将Regions作为表,然后从此处更改为其他表。 我喜欢第二种方法,因为它对我来说似乎更直观。您在这里关心地区,并试图获取有关地区的信息,因此应该在(IMO)中: