我有一个包含四列的表,并且希望仅基于一列显示不同的输出。我怎样才能做到这一点?
我尝试在 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
最佳答案
您似乎想要每个 Name
具有最低 ID
值的行中的值。使用 GROUP BY
子查询获取每个 Name
的最小 ID
。然后将表INNER JOIN
连接到子查询。
SELECT y2.ID, y2.Name, y2.Date, y2.Status
FROM
YourTable AS y2
INNER JOIN
(
SELECT y.Name, Min(y.ID) AS MinOfID
FROM YourTable AS y
GROUP BY y.Name
) AS sub
ON y2.ID = sub.MinOfID
关于sql - 查询两列以上且其中一列不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15976179/