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]