[英]Combine two rows in a single row with the same ID name
具有相同 Id 的源表需要將它們組合成單行
+-----+-----+-----+-----+
| Id | ID1 | ID2 | ID3 |
+-----+-----+-----+-----+
| XYZ | | 1 | 3 |
| ZZZ | 4 | | 5 |
| ZZZ | | 6 | |
| XYZ | 8 | | |
+-----+-----+-----+-----+
我想要達到的目標:
+-----+-----+-----+-----+
| Id | ID1 | ID2 | ID3 |
+-----+-----+-----+-----+
| XYZ | 8 | 1 | 3 |
| ZZZ | 4 | 6 | 5 |
+-----+-----+-----+-----+
一個簡單的聚合應該可以解決問題
例子
Select ID
,ID1 = max(ID1)
,ID2 = max(ID2)
,ID3 = max(ID3)
From YourTable
Group By ID
請檢查此鏈接 - MySQL 在分組后獲得第一個非 null 值
SELECT
id,
MAX(id1),
MAX(id2),
MAX(id3)
FROM
(
SELECT
id, id1, id2,id3
FROM
Test
) AS t
GROUP BY id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.