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

SQL:如何为每个具有现有值的用户获取包含单个记录的结果集,sql,resultset,Sql,Resultset,这个问题可能会产生误导,我可以在这里解释这个问题: 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 我在一个表中

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

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
我在一个表中为用户保留了多条记录。有些列包含值,有些列不包含值。我想要上面显示的最终结果。如果某个用户的任何行中的任何列都存在一个值,我希望该值出现在最终结果集中


我希望上面的例子能清楚地说明这一点。

使用group by AGGRATION with max:

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

工作。谢谢我有一些字母数字值,但从来没有想过我可以使用MAX()乐趣。