如何在MYSQL中获取日期的MIN和MAX()
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在MYSQL中获取日期的MIN和MAX()相关的知识,希望对你有一定的参考价值。
我有这样的示例数据:
ID Val Name o_Dt o_gate c_Dt c_gate
1, 145, 'Test1', '2020-01-28 02:18:00', 'open' NULL NULL
2, 145, 'Test1', '2020-01-28 02:22:00', 'open' NULL NULL
3, 145, 'Test1', '2020-01-28 02:26:00', 'open' NULL NULL
4, 145, 'Test1', '2020-01-28 04:10:00', 'open' NULL NULL
5, 145, 'Test1', '2020-01-28 05:50:00', 'open' '2020-01-28 05:56:00', 'close'
6, 145, 'Test2', '2020-01-28 07:36:00', 'open' '2020-01-28 07:45:00' 'close'
7, 145, 'Test2', '2020-01-28 07:42:00', 'open' NULL NULL
8, 145, 'Test2', '2020-01-28 07:44:00', 'open' '2020-01-28 07:47:00', 'close'
如何获得这样的输出:
ID Val Name o_Dt o_gate c_Dt c_gate
1, 145, 'Test1', '2020-01-28 02:18:00', 'open' '2020-01-28 05:56:00' 'close'
6, 145, 'Test2', '2020-01-28 07:36:00', 'open' '2020-01-28 07:45:00' 'close'
7, 145, 'Test2', '2020-01-28 07:42:00', 'open' '2020-01-28 07:47:00', 'close'
我尝试过
MIN(o_Dt)OVER(PARTITION BY c_Dt )
但是它没有给出准确的结果。请建议我
答案
您可以使用一些最小和最大函数
select min(id) ID, val, Name, min(o_Dt) o_Dt
, min(o_gate) o_gate, max(c_Dt) c_Dt, max(c_gate) c_gate
from my_table
group by vat, name
以上是关于如何在MYSQL中获取日期的MIN和MAX()的主要内容,如果未能解决你的问题,请参考以下文章
使用 numpy.max/ numpy.min 作为时间戳值
如何在 sql 中设置变量并在选择查询中使用它来显示和执行对该变量的操作(MAX MIN)?