Sql 获取列中每个值的最大结果
我使用的是Informix DB和如下表:Sql 获取列中每个值的最大结果,sql,informix,Sql,Informix,我使用的是Informix DB和如下表: Col1 Col2 Col3 a a a b a c c b a d c d SQL语句是否可以只显示前两行中的一行,只指定唯一的结果(值可以是任何值)。我只想从col2得到一个具有相同值的结果,我不介意检索哪一行 我希望我说的有道理。假设您有一个打破平局的列(一个列主键),您可以使用这样的内容 select t.* from ( select col2, min(pk_id) pk_id
Col1 Col2 Col3
a a a
b a c
c b a
d c d
SQL语句是否可以只显示前两行中的一行,只指定唯一的结果(值可以是任何值)。我只想从col2得到一个具有相同值的结果,我不介意检索哪一行
我希望我说的有道理。假设您有一个打破平局的列(一个列主键),您可以使用这样的内容
select t.*
from (
select col2, min(pk_id) pk_id
from tbl
group by col2
) x, tbl t
where t.col2=x.col2 and t.pk_id=x.pk_id
假设您有一个打破平局的列(一个单列主键),您可以使用如下内容
select t.*
from (
select col2, min(pk_id) pk_id
from tbl
group by col2
) x, tbl t
where t.col2=x.col2 and t.pk_id=x.pk_id
非常感谢您的快速回复!只是一个简短的问题。。我可以在我的代码中轻松做到这一点,获得结果集,并且从性能的角度来看,SQL对DB来说“重”吗?@StefanE一点也不重,这就是DBs的用途,可以非常快速地执行基于集的操作。非常棒,感谢您的快速回复!只是一个简短的问题。。我可以在我的代码中轻松实现这一点,获得结果集,并且从性能的角度来看,SQL对DB来说“重”吗?@StefanE一点也不重,这就是DBs的用途,它可以非常快速地执行基于集的操作。