首页 > 解决方案 > 查询中的 SQL MIN 函数 - 3 列访问

问题描述

我尝试使用 min 函数,但是当我尝试查看 3 列时它不起作用。我有这张桌子

桌子

并在 Field_2 上使用 MIN() 函数,我想得到这个输出

预期输出

我的查询是

SELECT FIELD_1, MIN(FIELD_2) FROM TABLE GROUP BY FIELD_1

如果我添加列 ID,我会得到所有相同的表。

标签: sqlmin

解决方案


subquery改为使用

select * 
from table t
where field_2 = (select min(field_2) from table where field_1 = t.field_1);

但是,您也可以使用LIMIT子句

select * 
from table t
where id = (select id
           from table 
           where field_1 = t.field_1
           order by field_2 asc
           LIMIT 1);

但是,一些DBMS没有LIMIT这样的子句 ( SQL Srver) 所以,使用这样TOP的代替:

. . . 
where id = (select top (1) id
            from table 
            where field_1 = t.field_1
            order by field_2 asc);

推荐阅读