2011-10-19 44 views
0

我有如下數據。SQL查詢組數據

 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 | 

回答

1

集團是一個關鍵字,所以你需要適當逃脫它爲您的RDBMS(如,方括號對於SQL Server,反向MySQL等)。

SELECT [Group], MAX(Jan), MAX(Feb), MAX(Mar) 
    FROM YourTable 
    GROUP BY [Group] 
+0

它只有在jan,feb和mar是nubmer類型時纔有效。 – Balconsky

+0

@Balconsky:你如何看待這一點? –

+0

這種轉義就是爲什麼我傾向於在關鍵字之後避免列(給它一個組的_exact_類型的標籤在這方面會有所幫助)。我同意在這方面使用一個聚合(DB2產生類似的結果),儘管你可能需要檢查你的系統放置'null'的順序(儘管我認爲在這種情況下排序爲'最少'是標準的)。 –