MariaDB 布尔转换 SQL

问题描述 投票:0回答:1

使用 MariaDB 版本 8.0.19,检测布尔转换的最佳方法是什么?

例如原始数据可能是:

1
1
1
0
0
1
1
1
0
0

我想计算上升沿转换或下降沿,所以在上升沿,从0到1,上述数据的返回将是2。列数据类型为tinyint。伪代码,我在想类似的事情:

select SUM(status)
where status = '1'
and the row previous to it = '0'

有一个 CURRENT_TIMESTAMP 列和一个索引(如果有帮助的话)。粒度为 1 秒间隔。

尝试过:

SELECT site, ffr as "2m", COUNT(ffr) as "2m qty", por as "5m", COUNT(por) as "5m qty", dt as "dateTime" FROM phgt
WHERE dt >= '2023-12-18 08:00:00'
  AND dt <  '2023-12-21 20:00:00'
GROUP by ffr, por, hour(dt), day(dt)
ORDER by idphgt desc

首先,寻找有关如何捕捉转变的想法

mariadb boolean state transition
1个回答
0
投票

LAG
首次在 MySQL 8.0 和 MariaDB 10.2 中可用。使用
ORDER BY
对行进行排序,因此
LAG(1)
指的是“上一行”。 “布尔”值本质上是数字“0”和“1”。

© www.soinside.com 2019 - 2024. All rights reserved.