这是我的第一篇文章,如果我不够简洁,我深表歉意。我正在尝试提出一个 SQL 查询来识别数据质量问题。
这是示例表:
DeviceOS Bytes
Roku 10,000
AppleTV -50000
SamsungTV -100000
Roku -100000
AppleTV 30000
Roku -90000
AppleTV -20000
AppleTV -10000
SamsungTV -100000
输出表:
DeviceOS Total Count bad_count
Roku 3 2
AppleTV 4 2
SamsungTV 1 1
Total_count 字段基于 deviceOS 聚合,bad_count 仅获取兆字节字段为负的所有行。
基本上试图做到这一点-> DeviceOS 从表组中选择 DeviceOS,count(*)
从表 DeviceOS 中选择 DeviceOs,count(*),其中兆字节 < 0
如何将上述两个查询组合起来,并将它们的结果显示在一起,类似于输出表?
您可以对 SQL Server 执行以下操作:
我们按 DeviceOS 列分组并获取名称和计数。
唯一棘手的部分是使用
SUM(IIF(Bytes < 0, 1, 0)) AS BadCount
错误计数。它的作用是检查字节大小是否小于 0(意味着它是负数):
对于 MySQL 使用简单
对于 BigQuery 使用