Mysql 在不同行中找到的分组结果

Mysql group results found in different rows

我有一个我自己无法解决的问题。

我在 Mysql(某些连接的结果)中有以下 table 描述所有事件

event_table:

ID Odl_ID Evt_ID Evt_Desc Evt_Date Link_1 Link_2 Start_Time End_Time
1 1 0 开始 2021-08-0610:15:00 2021-08-0610:15:00
2 2 0 开始 2021-08-0612:15:00 2021-08-0612:18:00
3 1 0 完成 2021-08-0614:15:00 2021-08-0610:15:00 2021-08-0614:15:00
4 1 0 生成 PDF 1 2021-08-0614:25:00 C:\Path1
5 1 0 生成 PDF 2 2021-08-0614:25:00 C:\Path2
6 2 0 完成 2021-08-0614:35:00 2021-08-0610:18:00 2021-08-0618:15:00
7 2 0 生成 PDF 1 2021-08-0618:25:00 C:\Path3
8 2 0 生成 PDF 2 2021-08-0618:25:00 C:\Path4

我想创建一个这样的视图,将 Odl_ID 分组并显示在不同行中找到的所有事件(如事件日期、Link_1 等)。

我想要实现的结果 table:

ID Odl_ID Evt_Date Link_1 Link_2 Start_Time End_Time
1 1 2021-08-0610:15:00 C:\Path1 C:\Path2 2021-08-0610:15:00 2021-08-0614:15:00
2 2 2021-08-0612:15:00 C:\Path3 C:\Path4 2021-08-0612:18:00 2021-08-0618:15:00

我该如何解决这个问题? 我不知道该怎么做,我尝试寻找 pivot table 但我还没有弄清楚问题所在。谢谢

找到了一个可能有效的解决方案,但不知道它是否完全 正确/也许有更好的解决方案

SELECT Odl_Id,
min(Start_time) Start_time,
max(End_time) End_time,
max(Evt_ID) Evt_ID, 
max(Link_1) Link_1,
max(Link_2) Link_2
 FROM view_2
 Group by ODL_Id;