数据库中的样本记录(更准确)如下:
Id DateTime状态
1 2018-05-01 11:22:05 O
1 2018-05-01 11:22:05 O
1 2018-05-01 11:22:06 O
1 2018-05-01 11:22:07 O
1 2018-05-01 11:22:07 A
1 2018-05-01 11:22:09 A
1 2018-05-01 11:22:13 A
1 2018-05-01 11:23:01 O
1 2018-05-01 11:23:02 O
1 2018-05-01 11:23:05 A
1 2018-05-01 11:23:29 A
1 2018-05-02 07:15:01 O
1 2018-05-02 07:18:07 O
输出应如下所示。
1 2018-05-01 11:22:05 O
1 2018-05-01 11:22:07 O
1 2018-05-01 11:22:07 A
1 2018-05-01 11:22:13 A
1 2018-05-01 11:23:01 O
1 2018-05-01 11:23:02 O
1 2018-05-01 11:23:05 A
1 2018-05-01 11:23:29 A
1 2018-05-02 07:15:01 O
1 2018-05-02 07:18:07 O
答案 0 :(得分:0)
您可以使用工会
select min(Datetime) datetime, state
from my_table
group by state
union
select max(Datetime), state
from my_table
答案 1 :(得分:0)
我们可以在这里尝试使用工会:
SELECT Id, State, MIN(Datetime) AS Datetime
FROM yourTable
GROUP BY Id, State
UNION ALL
SELECT Id, State, MAX(Datetime)
FROM yourTable
GROUP BY Id, State
ORDER BY Id, State, Datetime;