SQL:如何获取包含单个记录的结果集,每个用户具有现有值



这个问题可能会误导人,我可以在这里解释这个问题:

userId  col1    col2
001     null    null
001     1       null
002     1       1   
002     null    1
002     null    null
003     null    1
003     1       null

查询的最终结果

001     1   null
002     1   1
003     1   1

我在一个用户表中有多条记录。有些列包含值,有些列不包含。我想要如上所示的最终结果。如果某个用户的任意行中的任意列都存在一个值,我希望这个值出现在最终结果集中。

我希望上面的例子能让你明白。

使用max:

select userId, max(col1) as c1, max(col2) as c2
from userTbl
group by userId

相关内容

  • 没有找到相关文章

最新更新