使用查询对条件进行分组和检查

用户名

我被要求针对以下情况编译SQL查询:

ID | PARAMETER  | VALID | VALUE
------------------------------
1  | Event1_Val | 1     | 0
1  | Event2_Val | 0     | 50.00
1  | Event2_Avg | 0     | 55.00
1  | Event1_Avg | 0     | 66.67

2  | Event1_Val | 0     | 37.50
2  | Event2_Val | 1     | 0
2  | Event1_Avg | 0     | 50.00
2  | Event2_Avg | 0     | 66.67

_Val当前值在哪里_Avg是过去五个值的平均值。

要求1:如果VALID == 1(仅适用于_Val值),则不要检查该参数的_Val_Avg,而要检查其他参数的_Val_Avg在上面的示例中ID=1Event2_ValEvent2_Avg被选中,因为Event1_Val.VALID = 1(这意味着Event1_Val并且Event1_Avg将不被选中。)

条件2:检查的值_Val_Avg作为要求1所述的下列条件的一个结果是:

  • _Val<5 OR
  • _Val + 10 < _Avg

上面的条件将返回警报。在上面的示例中ID=2Event1_Val由于37.50 + 10小于50.00 ,因此将返回警报。

要求3:说明要求2的结果

ID | PARAMETER  | ALERT
------------------------
1  | Event2_Val | 0 
2  | Event1_Val | 1

我试图检查VALID不等于1,但是这给了我以下内容:

ID | PARAMETER  | VALID | VALUE
------------------------------
1  | Event2_Val | 0     | 50.00
1  | Event2_Avg | 0     | 55.00
1  | Event1_Avg | 0     | 66.67

2  | Event1_Val | 0     | 37.50
2  | Event1_Avg | 0     | 50.00
2  | Event2_Avg | 0     | 66.67

我不想检查其中的事件的参数_Val.VALID == 1意思是,因为ID=1我不想包括在内Event1_Avg


在这种情况下,有没有一种方法可以使用查询对条件进行分组和检查?注意:强烈希望不要更改表中的值。

迈克·K

尝试:

SELECT t1.id,
   t1.parameter,
   CASE 
      WHEN (t1.value < 5 OR (t1.value + 10 < t2.value)) THEN 1
      ELSE 0
   END alert
FROM your_table t1
JOIN your_table t2 ON t1.id = t2.id
   AND left(t1.parameter, 6) = left(t2.parameter, 6)
   AND t1.parameter LIKE '%_Val'
   AND t2.parameter LIKE '%_Avg'
WHERE 
   t1.valid <> 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Ormlite对查询条件进行分组

来自分类Dev

使用Ormlite对查询条件进行分组

来自分类Dev

使用#temp表和条件分组优化SQL Server查询

来自分类Dev

Mongoid:使用分组,不同和计数操作进行查询

来自分类Dev

如何使用ORM查询对类别进行分组和求和

来自分类Dev

Mongoid:使用分组,不重复和计数操作进行查询

来自分类Dev

使用Retrosheet棒球数据对SQL查询进行分组和计数

来自分类Dev

使用多个条件对熊猫进行排序和重新分组

来自分类Dev

如何通过分组进行条件查询

来自分类Dev

使用条件对值进行分组

来自分类Dev

使用条件进行分组并对python进行分类

来自分类Dev

使用linq进行分组,然后使用where条件运行select查询

来自分类Dev

如何进行使用AND和OR的条件猫鼬查询?

来自分类Dev

使用 if 条件进行 FIND 和 REPLACE 的 SQL 查询

来自分类Dev

根据条件进行分组,加法和减法

来自分类Dev

如何根据条件进行分组和计数

来自分类Dev

LESSCSS:如何使用最新版本进行编译和对媒体查询进行分组

来自分类Dev

如何使用条件分组依据创建查询

来自分类Dev

使用分组依据进行选择查询

来自分类Dev

使用if条件对数字进行分组

来自分类Dev

在条件求和中使用数组进行分组

来自分类Dev

在LINQ中使用子查询对某些字段进行分组和求和

来自分类Dev

SQL Server查询以使用重复值对记录进行分组和排名

来自分类Dev

Azure 表存储:如何使用 NodeJS 库对 AND 和 OR 查询进行分组?

来自分类Dev

MySQL查询进行分组,然后根据条件而不是总和求和

来自分类Dev

mysql 查询根据特定条件对 datga 进行分组

来自分类Dev

使用Python中的条件对多个数据框列进行分组和比较

来自分类Dev

使用案例和分组汇总的SQL查询

来自分类Dev

在 sql 中使用条件检查加入查询

Related 相关文章

  1. 1

    使用Ormlite对查询条件进行分组

  2. 2

    使用Ormlite对查询条件进行分组

  3. 3

    使用#temp表和条件分组优化SQL Server查询

  4. 4

    Mongoid:使用分组,不同和计数操作进行查询

  5. 5

    如何使用ORM查询对类别进行分组和求和

  6. 6

    Mongoid:使用分组,不重复和计数操作进行查询

  7. 7

    使用Retrosheet棒球数据对SQL查询进行分组和计数

  8. 8

    使用多个条件对熊猫进行排序和重新分组

  9. 9

    如何通过分组进行条件查询

  10. 10

    使用条件对值进行分组

  11. 11

    使用条件进行分组并对python进行分类

  12. 12

    使用linq进行分组,然后使用where条件运行select查询

  13. 13

    如何进行使用AND和OR的条件猫鼬查询?

  14. 14

    使用 if 条件进行 FIND 和 REPLACE 的 SQL 查询

  15. 15

    根据条件进行分组,加法和减法

  16. 16

    如何根据条件进行分组和计数

  17. 17

    LESSCSS:如何使用最新版本进行编译和对媒体查询进行分组

  18. 18

    如何使用条件分组依据创建查询

  19. 19

    使用分组依据进行选择查询

  20. 20

    使用if条件对数字进行分组

  21. 21

    在条件求和中使用数组进行分组

  22. 22

    在LINQ中使用子查询对某些字段进行分组和求和

  23. 23

    SQL Server查询以使用重复值对记录进行分组和排名

  24. 24

    Azure 表存储:如何使用 NodeJS 库对 AND 和 OR 查询进行分组?

  25. 25

    MySQL查询进行分组,然后根据条件而不是总和求和

  26. 26

    mysql 查询根据特定条件对 datga 进行分组

  27. 27

    使用Python中的条件对多个数据框列进行分组和比较

  28. 28

    使用案例和分组汇总的SQL查询

  29. 29

    在 sql 中使用条件检查加入查询

热门标签

归档