我的问题是:
我的数据库有 3 列,条目如下:
1|Tom |1
2|Lucy |1
3|Frank |2
4|Jane |3
5|Robert|3
现在我想要这样的输出:
1|Tom |1
3|Frank |2
4|Jane |3
这意味着在每个组中(在本例中为第三列)第一列的最低条目。
有人可以帮忙吗?
最佳答案
您需要的是带有分组依据的相关子查询。
一种易于遵循的方法是:
SELECT column1, name, column2
FROM MyTable as mt1
WHERE column1 in (SELECT Min(column1) FROM MyTable as mt2 GROUP BY column2)
但是更好、更干净的方法:
SELECT column1, name, column2
FROM MyTable as mt1
INNER JOIN
(SELECT Min(column1) as minc1 FROM MyTable as mt2 GROUP BY column2) as mt2
ON mt1.column1=mt2.minc1;
注意:大多数 DBMS 应该支持这两种形式。
关于sql - 查找特定组中的最低值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23091177/