sql server 里面的字段result包含数据“ok、NG和空值这三个数据,需要写一段sql计算NG数量除以OK的数量加空值的数量,该怎么写
时间: 2024-04-13 08:30:34 浏览: 90
SQL Server创建数据库和数据表的相关约束实现方法
5星 · 资源好评率100%
要在SQL Server中计算NG数量除以OK数量再加上空值数量,你可以使用聚合函数和条件语句来实现。以下是一个示例:
```sql
SELECT
(COUNT(CASE WHEN YourColumn = 'NG' THEN 1 END)
/ NULLIF(COUNT(CASE WHEN YourColumn = 'OK' THEN 1 END), 0)
+ COUNT(CASE WHEN YourColumn IS NULL THEN 1 END)) AS ResultRatio
FROM YourTable
```
在上述示例中,将`YourColumn`替换为包含数据的字段名,`YourTable`替换为你要查询的表名。
这个查询将返回一个计算结果,即NG数量除以OK数量再加上空值数量的比率。使用`COUNT`函数和条件语句,我们可以分别计算NG、OK和空值的数量。使用`NULLIF`函数来处理除法中的分母为零的情况,确保不会产生除以零的错误。
根据你的实际需求,可以自定义查询和条件语句。请注意,如果存在其他可能的取值,需要确保将其包含在条件语句中。
阅读全文