MS-Access select 第一行非唯一 ID

MS-Access select first row of non-unique ID

如何在 MS-Access 中 select 具有相同非唯一 ID 的两个多行的第一个数据集?

我没有用非唯一 ID 设计这个乱七八糟的东西,除了 ID 之外的其他字段都是随机字符串值,因此可能是唯一的或重复的。

假设我有输入 table

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" | ... | 
--------------------------

我现在想要 select 每个不同 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" | ... |
--------------------------

我需要行本身保持完整,只需 select 使用唯一 ID

尝试使用 First 而不是 Min:

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