- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将行分组在一起,从值大于 0 的点开始,然后继续直到值回到 0,然后在整个表中重复。
这是针对 MySQL 8.0 的...我不知道从哪里开始。
示例表
| tag | value | timestamp |
|--------------|-------|--------------------------|
| sts_downtime | 0 | 2019-01-03 09:31:40.8240 |
| sts_downtime | 1 | 2019-01-03 09:50:23.0310 |
| sts_downtime | 3 | 2019-01-03 09:53:07.7750 |
| sts_downtime | 4 | 2019-01-03 09:53:40.6060 |
| sts_downtime | 0 | 2019-01-04 08:48:27.1020 |
| sts_downtime | 0 | 2019-01-04 13:30:26.5180 |
| sts_downtime | 10 | 2019-01-04 14:19:56.3740 |
| sts_downtime | 10 | 2019-01-07 08:49:03.8480 |
| sts_downtime | 10 | 2019-01-07 09:34:25.0850 |
| sts_downtime | 0 | 2019-01-07 09:34:53.9940 |
| sts_downtime | 0 | 2019-01-07 12:59:21.3210 |
我想得到什么
| Sum of Value | Start | End |
|--------------|--------------------------|--------------------------|
| 8 | 2019-01-03 09:50:23.0310 | 2019-01-03 09:53:40.6060 |
| 30 | 2019-01-04 14:19:56.3740 | 2019-01-07 09:34:25.0850 |
最佳答案
有几个 CTE:
with
ctemin as (
select t.timestamp from tablename t
where value <> 0 and
(select value from tablename where timestamp =
(select max(timestamp) from tablename where timestamp < t.timestamp)
) = 0
),
ctemax as (
select t.timestamp from tablename t
where value <> 0 and
(select value from tablename where timestamp =
(select min(timestamp) from tablename where timestamp > t.timestamp)
) = 0
),
cte as (
select
t.timestamp Start,
(select min(timestamp) from ctemax
where timestamp >= t.timestamp) End
from ctemin t
)
select
sum(value) `Sum of Value`,
c.Start, c.End
from cte c inner join tablename t
on t.timestamp between c.Start and c.End
group by c.Start, c.End
参见 demo .
结果:
| Sum of Value | Start | End |
| ------------ | -------------------------- | -------------------------- |
| 8 | 2019-01-03 09:50:23.031000 | 2019-01-03 09:53:40.606000 |
| 30 | 2019-01-04 14:19:56.374000 | 2019-01-07 09:34:25.085000 |
关于mysql - 对从值 x 开始一直到遇到值 y 的行求和然后重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55976059/
我有一个在 Android 市场上相当流行的应用程序,它允许数以万计的用户按下一个按钮并向它发出语音命令。然后我就可以做很多不同的事情,比如给他们提供当前的天气预报等等...... 无论如何,我的应用
令人惊讶的是,标题基本上解释了它。我们有一个我们的客户制作的页面,我们正在重新创建该页面。 页面高度会一直增加,直到(我假设是这样)浏览器达到它的极限。我已经尝试过 Firebug 和 W3 验证器,
我是 react-native 的新手,试图创建我自己的组件,但它一直显示一个空屏幕。 这是我的组件代码 class BoxComponent extends Component { cons
我正在为我的 PHP 元素创建一个非常简单的博客,但遇到了一个简单的问题。我无法让我的页眉图像一直 float 。我有一个横幅,左边有一些文字,我有一个 1px 的切片,在可以选择的任何分辨率的宽度上
为什么我可以在另一个 Controller 的 View 中访问一个 Controller 的辅助方法?有没有办法在不破解/修补 Rails 的情况下禁用它? 最佳答案 @George Schreib
我正在使用带有最新 ADT 插件的 Eclipse Kepler SP2。每隔一分钟 Eclipse 就会说“为 Android 4.4.2 加载数据”并阻止我想做的一切。我在不同的文件夹中有几个 E
我是一名优秀的程序员,十分优秀!