SQL 如何将来自相同 table 的相似记录合并为单行?

SQL how to merge similar records into single row from same table?

我目前正在尝试清理前雇员创建的邮件订阅者数据库。我已经能够合并和修复大多数问题(主要是重复问题),但我有订阅者具有重复记录的实例,因为他们订阅了多个区域。我想做的是将那些重复的记录合并为 1。

这是我要合并的重复记录的经过编辑的实际示例:

id     first     last    address    truck    machinery    gl    ne    nw
------------------------------------------------------------------------
1      Chuck     G....   12 Lorem   1                     1
2      Chuck     G....   12 Lorem            1                        1
3      Chuck     G....   12 Lorem            1                  1

我想将 2 条记录合并为 1 条记录,并删除所有重复项(有些重复项最多 9 条),如下所示:

id     first     last    address    truck    machinery    gl    ne    nw
------------------------------------------------------------------------
1      Chuck     G....   12 Lorem   1        1            1     1     1

使用Group ByMax/Min聚合

SELECT id, 
       first, 
       last, 
       address, 
       Max(truck)     AS truck, 
       Max(machinery) AS machinery, 
       Max(gl)        AS gl, 
       Max(ne)        AS ne, 
       Max(nw)        AS nw 
FROM   yourtable 
GROUP  BY id, 
          first, 
          last, 
          address