我希望将多个具有相同 ID 的记录合并为每个 ID 的一个记录。我不得不使用数据透视表从多个其他表中获取我需要的数据,并将其放入一个看起来像这样的临时表中:
ID |Data1|Data2|Data3|Data4
1 asdf NULL NULL NULL
1 NULL blah NULL NULL
1 NULL NULL this NULL
1 NULL NULL NULL data
2 NULL funk NULL NULL
2 NULL NULL jazz NULL
我想找到一种方法将具有相同 Id 的所有记录合并到新表中的新记录中,如下所示:
ID |Data1|Data2|Data3|Data4
1 asdf blah this data
2 NULL funk jazz NULL
我已经在此处和其他网站上查看了多个其他类似问题,这些问题似乎在处理诸如本 (Merge multiple rows with same ID into one row) 等领域中的数值。这些都没有达到预期的效果。任何帮助,将不胜感激。
最佳答案
将 MAX()
与 GROUP BY
子句一起使用:
SELECT t.ID,
MAX(t.Data1),
MAX(t.Data2),
MAX(t.Data3),
MAX(t.Data4)
FROM table AS t
GROUP BY t.ID;
关于Mysql合并具有相同ID的多条记录忽略空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52649064/