2016-11-29 77 views
0

我試圖從我的表中選擇記錄。我的表包含了近20列和50多萬records.For例如:通過子查詢選擇帶主鍵組的查詢

我的示例表中的數據:

enter image description here

所需的結果:

enter image description here

列C1是表的主鍵。我用下面的查詢

SELECT (SELECT FIRST(C1) 
      FROM  TableName AS F 
      WHERE  F.C2 = TableName.C2 
     ) AS Exp1 , 
     TableName.C2 , 
     TableName.C3 , 
     TableName.C4 
FROM TableName 

它返回所需的結果,我預期,但它需要更多的時間才能返回結果。有什麼方法來加快我的查詢?提前致謝。

+0

樣本數據和所需結果是相同的圖像。 –

+0

@Ola Ekdahl在期望的結果中,列C1的結果在下一行中改變 – PRABA

回答

0

您可以將您之前查詢的結果寫回到Min(C1),並按C2,C3和C4分組到臨時表中。

然後將您的主表加入C2,C3,C4的臨時表中,並從臨時表中選擇Min(C1),並忽略主表中的C1。