gpt4 book ai didi

oracle - 可以用oracle解析函数来完成吗?

转载 作者:行者123 更新时间:2023-12-02 00:42:42 25 4
gpt4 key购买 nike

我需要有关 oracle 10g 查询的帮助,

这是我的问题:

有一张表存储来自不同设备的信号状态。

  1. SS1和SS2信号随机插入到表中,

  2. 如果 SS1 或 SS2 信号状态之一为“up”,则结果信号应为“up”

  3. 如果SS1和SS2信号状态都是“down”,那么结果信号应该是“down”

我想准备一个查询,根据 SS1 和 SS2 信号显示结果信号状态的变化。

当我看到图表时,它似乎很容易,但我无法使用分析函数编写查询。

表创建和插入脚本是here.

提前致谢

最佳答案

SELECT  s2.*,
CASE WHEN ss1 = 'down' AND ss2 = 'down' THEN 'down' ELSE 'up' END AS result
FROM (
SELECT s.*,
LAST_VALUE(DECODE(signal_id, 'SS1', signal_status, NULL) IGNORE NULLS) OVER (ORDER BY signal_date) AS ss1,
LAST_VALUE(DECODE(signal_id, 'SS2', signal_status, NULL) IGNORE NULLS) OVER (ORDER BY signal_date) AS ss2
FROM t_signal s
) s2
ORDER BY
signal_date

关于oracle - 可以用oracle解析函数来完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2100438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com