gpt4 book ai didi

MySql - 从每列中的最新非空值中获取一行

转载 作者:可可西里 更新时间:2023-11-01 08:21:55 25 4
gpt4 key购买 nike

我有一个表,我想得到一行,其中包含每一列的所有最新非空属性(不为每一列组合单独的查询,这对我来说似乎不太优雅)。

例子:

A     B     C     Time
1 a 7 0
NULL NULL 3 1
3 NULL 4 2
NULL NULL 6 3

我寻求的结果:

A     B     C
3 a 6

正如我所说,我知道如何分别为每一列选择我想要的内容,但我想知道是否有更好的方法来做到这一点。如果不需要,无需对糟糕的数据库征税。

最佳答案

可能是比这更好的方法,但现在是星期一,我还不太清醒:

select @a:=null, @b:=null, @c:=null;
select A,B,C from (
select @a:=coalesce(A,@a) as A, @b:=coalesce(B,@b) as B, @c:=coalesce(C,@) as C time
from yourtable
order by time asc
) as y order by time desc limit 1;

基本上,遍历数据库中的每一行并建立“最新”值,然后反转结果集并仅选择具有最高时间值的那个

关于MySql - 从每列中的最新非空值中获取一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5705630/

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