[sql server] 分组取最大最小常用sql

--分组取最大最小常用sql
--测试环境
if OBJECT_ID('tb') is not null drop table tb;
go
create table tb(
 col1 int,
 col2 int,
 Fcount int)
insert into tb
select 11,20,1 union all
select 11,22,1 union all
select 11,23,2 union all
select 11,24,5 union all
select 12,39,1 union all
select 12,40,3 union all
select 12,38,4
go
--查询
--1
select * from tb t where Fcount=(select max(Fcount)from tb where col1=t.col1)
--2
select * from tb t where not exists(select 1 from tb where col1=t.col1 and Fcount>t.Fcount)
--结果
/*
col1        col2        Fcount
----------- ----------- -----------
12          38          4
11          24          5

*/

 

你可能感兴趣的