2017-06-02 94 views
2

如何在MS-Access中選擇具有相同非唯一ID的兩個多行的第一個數據集?MS-Access選擇非唯一ID的第一行

我沒有用非唯一ID來設計這個混亂,並且除ID以外的其他字段都是隨機字符串值,因此可能是唯一的或重複的。

說我有輸入表

Tab_INPUT 
-------------------------- 
| ID | VAL1 | VAL2 | ... | 
- - - - - - - - - - - - - 
| 1 | "A" | "1a" | ... | 
| 2 | "B" | "2b" | ... | 
| 2 | "C" | "2a" | ... | 
| 3 | "D" | "3c" | ... | 
| 3 | "E" | "3b" | ... | 
| 3 | "F" | "3a" | ... | 
| 4 | "G" | "4a" | ... | 
-------------------------- 

我現在要選擇爲每個不同的ID的第一行,這樣即

Tab_OUTPUT (DESIRED) 
-------------------------- 
| ID | VAL1 | VAL2 | ... | 
- - - - - - - - - - - - - 
| 1 | "A" | "1a" | ... | 
| 2 | "B" | "2b" | ... | 
| 3 | "D" | "3c" | ... | 
| 4 | "G" | "4a" | ... | 
-------------------------- 

我不能使用類似

SELECT ID, Min(VAL1), Min(Val2) FROM Tab_INPUT GROUP BY ID 

因爲這會弄亂行本身

Tab_OUTPUT (WRONG) 
-------------------------- 
| ID | VAL1 | VAL2 | ... | 
- - - - - - - - - - - - - 
| 1 | "A" | "1a" | ... | 
| 2 | "B" | "2a" | ... | 
| 3 | "D" | "3a" | ... | 
| 4 | "G" | "4a" | ... | 
-------------------------- 

我需要的行itsself保持完好,只是選擇先用一個唯一的ID

回答

2

嘗試使用First代替Min

SELECT ID, First(VAL1) AS Val1, First(Val2) AS Val2 
FROM Tab_INPUT 
GROUP BY ID 
+0

易是真實的...工程就像一個魅力,謝謝! – HeXor