SQL查询组数据

SQL查询组数据,sql,group-by,Sql,Group By,我有如下数据。 Group Jan Feb Mar ---|------|-----|-------|--------|--------- | A | I22 | | | | A | | I22 | | | A | | | I22 | | B | I33 | | | | B | | I33 |

我有如下数据。

     Group  Jan     Feb      Mar
---|------|-----|-------|--------|---------
   |   A  | I22 |       |        |
   |   A  |     | I22   |        |
   |   A  |     |       | I22    |
   |   B  | I33 |       |        |
   |   B  |     | I33   |        |
   |   B  |     |       | I33    |
查询是如何生成这样的数据的:-

     Group  Jan     Feb      Mar
---|------|-----|-------|--------|---------
   |   A  | I22 | I22   |  I22   |
   |   B  | I33 | I33   |  I33   |

组是一个关键字,所以您需要为您的RDBMS适当地转义它(例如,SQL Server的方括号、MySQL的倒勾等等)


@Balconsky:你是怎么理解的?这种转义就是为什么我倾向于避免关键字后面的列(给它一个确切类型的组的标签在这方面会有所帮助)。在这方面,我同意使用聚合(DB2会产生类似的结果),尽管您可能需要检查系统将
null
放入的顺序(尽管我认为在这种情况下将其排序为“最少”是标准的)。
SELECT [Group], MAX(Jan), MAX(Feb), MAX(Mar)
    FROM YourTable
    GROUP BY [Group]