这个select语句如何查询?
先有一个5个字段的表abc,5个字段分布为:abc01,abc02,abc03,abc04,abc05
其中abc01,abc02,abc03这3个字段为主键,并确定唯一值。
请问如何返回以abc01,abc02分类汇总,并abc03为最小值的字段。
比如
select abc.*
from (select abc01,abc02,min(abc03) abc03
from abc
group by abc01,abc02) abd
left join abc
on abd.abc01 = abc.abc01
and abd.abc02 = abc.abc02
and abd.abc03 = abc.abc03
这其中用到了子查询,请问有没有一次性查询出来的。
------解决方案----------------------是这样么?
select *
from abc t
where exists(select 1 from abc where t.abc01=abc01 and t.abc02=abc02 and t.abc03 <abc03)
------解决方案--------------------to: leo_lesley(leo) ( ) 信誉:100 2007-07-20 16:14:43 得分: 0
你的是不是错了啊!!
他是求最小的呢?
----select * from abc a where not exists
(select 1 from abc where abc01=a.abc01 and abc02=a.abc02 and abc03 <a.abc03)
---没有测试过
------解决方案--------------------select *
from [TABLE] a
where NAME=(select top 1 NAME from [TABLE] b where a.ID=b.ID order by b.NAME ASC)
------解决方案--------------------select *
from [TABLE] a
where exists(select top 1 NAME from [TABLE] b where a.ID=b.ID order by b.NAME ASC)
------解决方案--------------------欢迎加入SQL群,一起研究探讨,共同进步,32758914 ,32446412,26194949,19814296 。前者满了既可加后者。