MySQL如何将共享相同ID的非空字段合并为每个ID一行



将具有相同id的null行组合在一起最充分的方法是什么:

Having this table:
| UserID | FNAME | LNAME |
|--------|-------|-------|
| 1      | NULL  | NULL  |
| 1      | jhon  | NULL  |
| 1      | NULL  | doe   |
| 2      | NULL  | NULL  |
| 2      | Jarry | NULL  |
| 2      | NULL  | Lauf  |
want to get:
| UserID | FNAME | LNAME |
|--------|-------|-------|
| 1      | jhon  | doe   |
| 2      | Jarry | Lauf  |

按用户聚合,然后取两个名称列的最大值:

SELECT UserID, MAX(FNAME) AS FNAME, MAX(LNAME) AS LNAME
FROM yourTable
GROUP BY UserID;