在一列中查询两列以上不同的列

时间:2013-04-12 16:13:23

标签: sql ms-access-2007

我有一个包含四列的表,并希望仅基于一列显示不同的输出。我怎么能这样做?

我尝试在ID上使用Max函数,但它只适用于两列,任何超过两列的列都会显示所有记录。

非常感谢任何帮助

- 编辑 -

示例数据:

ID Name Date    Status
1  Sam  1/1/11    A
2  Sam  2/22/12   A
3  Jill 1/5/10    R
4  Jim  7/2/12    I
5  Jim  5/6/11    I
6  Bob  11/11/12  A
7  Bob  7/26/10   A

输出:

ID Name Date    Status
1  Sam  1/1/11    A
3  Jill 1/5/10    R
4  Jim  7/2/12    I
6  Bob  11/11/12  A

3 个答案:

答案 0 :(得分:2)

您似乎希望每个ID的{​​{1}}值最低的行中的值。使用Name子查询获得每GROUP BY个最低ID。然后Name你的表到子查询。

INNER JOIN

答案 1 :(得分:0)

不确定要从其他列返回什么,但是这样的内容会返回col1中的唯一值,以及其他列中的最小值。

SELECT 
    Col1,
    MIN(Col2) AS Col2,
    MIN(Col3) AS Col3,
    MIN(Col4) AS Col4
FROM MyTable
GROUP BY Col1

答案 2 :(得分:0)

不确定这是否是您想要的,但请尝试:

SELECT DISTINCT columnYouFilterBy,column2,column3,column4 FROM yourTable