sql server分组求最大值(100分)
编号姓名合同日期100张三1985-5-1100张三1986-5-1101李四1985-5-1101李四1999-5-1求以编号分组查出合同日期的最大值记录.结果就应该是...
编号 姓名 合同日期
100 张三 1985-5-1
100 张三 1986-5-1
101 李四 1985-5-1
101 李四 1999-5-1
求以编号分组查出合同日期的最大值记录.结果就应该是
100 张三 1986-5-1
101 李四 1999-5-1
请写出最简单效率最高的SQL查询语句.试用成功后加分
请问2楼的t1,t2是什么意思?这样吧,我的表名是"合同".请你写详细一点! 展开
100 张三 1985-5-1
100 张三 1986-5-1
101 李四 1985-5-1
101 李四 1999-5-1
求以编号分组查出合同日期的最大值记录.结果就应该是
100 张三 1986-5-1
101 李四 1999-5-1
请写出最简单效率最高的SQL查询语句.试用成功后加分
请问2楼的t1,t2是什么意思?这样吧,我的表名是"合同".请你写详细一点! 展开
7个回答
展开全部
select 编号,姓名,max(合同日期)
from table
group by 编号,姓名
order by 合同日期;
--测试数据:
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
100 张三 1985-5-1
100 张三 1986-5-1
101 李四 1985-5-1
101 李四 1999-5-1
SQL>
SQL> select no,name,max(ht)
2 from a
3 group by no,name
4 ;
NO NAME MAX(HT)
---------- -------------------- -----------
100 张三 1986-5-1
101 李四 1999-5-1
SQL> insert into a values(100,'张三',to_date('1999-5-1','yyyy-mm-dd'));
1 row inserted
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
100 张三 1985-5-1
100 张三 1986-5-1
101 李四 1985-5-1
101 李四 1999-5-1
100 张三 1999-5-1
SQL>
SQL> select no,name,max(ht)
2 from a
3 group by no,name;
NO NAME MAX(HT)
---------- -------------------- -----------
100 张三 1999-5-1
101 李四 1999-5-1
新插入了一条数据之后,使用该sql查询语句即把刚插入的合同日期最大的那条数据显示出来了
from table
group by 编号,姓名
order by 合同日期;
--测试数据:
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
100 张三 1985-5-1
100 张三 1986-5-1
101 李四 1985-5-1
101 李四 1999-5-1
SQL>
SQL> select no,name,max(ht)
2 from a
3 group by no,name
4 ;
NO NAME MAX(HT)
---------- -------------------- -----------
100 张三 1986-5-1
101 李四 1999-5-1
SQL> insert into a values(100,'张三',to_date('1999-5-1','yyyy-mm-dd'));
1 row inserted
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
100 张三 1985-5-1
100 张三 1986-5-1
101 李四 1985-5-1
101 李四 1999-5-1
100 张三 1999-5-1
SQL>
SQL> select no,name,max(ht)
2 from a
3 group by no,name;
NO NAME MAX(HT)
---------- -------------------- -----------
100 张三 1999-5-1
101 李四 1999-5-1
新插入了一条数据之后,使用该sql查询语句即把刚插入的合同日期最大的那条数据显示出来了
展开全部
select [编号],[姓名],[合同日期]
from [合同]
Group by [编号]
HAVING max([合同日期])
from [合同]
Group by [编号]
HAVING max([合同日期])
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 编号,姓名,max(合同日期) as 合同日期 from 表 group by 编号,姓名 order by 编号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from (select top 100 * from table where xx=xx group xx xx) as a order by xx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select t1.* from table t1,table t2 where t1.编号=t2.编号 group by t1.编号,t1.姓名,t1.合同日期 having t1.合同日期=max(t2.合同日期)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询