数据库字段大概是这样的,一个创建时间CREATE_TIME,然后其他字段从V00一直到V59 。CREATE_TIME保存的是每一个小时的时间=》2023-08-30 10:00:00 后面的V00到V59 表示这个时间段的具体每个分钟。
我使用的INFORMIX数据库,但是根据我的查询,mysql应该也是可以用的。
sql如下
select create_time,greatest(V00,V01,V02,V03,V04,V05,V06,V07,V08,V09) as value,
case greatest(V00,V01,V02,V03,V04,V05,V06,V07,V08,V09)
when V00 THEN '00'
when V01 THEN '01'
when V02 THEN '02'
when V03 THEN '03'
when V04 THEN '04'
when V05 THEN '05'
when V06 THEN '06'
when V07 THEN '07'
when V08 THEN '08'
when V09 THEN '09'
...//后面一直排到V59 我就不写了。
end as minutes from xxxx(表的名称)
这样就可以 获取到 这个表的 create_time 时间,在该整点 ,具体哪个分钟的数最大。
主要是使用了greatest()函数,它是用来取多列的最大值,
最小值的话是使用least()函数,使用上面相同的构造,就可以获取多列的最小值,以及该最小值对应的该列名称。
一条sql查询多列的最大值(最小值)以及最大值对应的列名
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。