gpt4 book ai didi

mysql - 如何取最大值和次大值做减法?

转载 作者:行者123 更新时间:2023-11-28 23:35:10 24 4
gpt4 key购买 nike

我有如下表格:

| event_type | value |                    date |
|------------|-------|-------------------------|
| 2 | -7 | March, 01 2016 09:00:00 |
| 2 | 4 | March, 01 2016 08:00:00 |
| 2 | 21 | March, 01 2016 07:00:00 |
| 3 | 10 | March, 01 2016 06:00:00 |
| 3 | 8 | March, 01 2016 05:00:00 |
| 4 | 21 | March, 01 2016 04:00:00 |

我想得到每个 event_type 的最大值和第二大值来做减法,如下所示:

| event_type | value |
|------------|-------|
| 2 | -11 |
| 3 | 2 |

目前,我只能按如下方式获取每个 event_type 的最大值:

select event_type, value, max(date)
from events
group by event_type
having (count(event_type) >= 2);

| event_type | value | max(date) |
|------------|-------|-------------------------|
| 2 | -7 | March, 01 2016 09:00:00 |
| 3 | 10 | March, 01 2016 06:00:00 |

我想我需要知道如何获得第二大值(value)。因此,我可以做减法。

这是我的 sql fiddle : http://sqlfiddle.com/#!9/45e06e/6

最佳答案

你能试试这个吗?

select event_type, (value - (select e2.value from events e2 where e2.event_type = e1.event_type and e2.date != e1.date order by date desc limit 1)), max(date)
from events e1
group by event_type
having (count(event_type) >= 2);

关于mysql - 如何取最大值和次大值做减法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35979268/

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