sql查询语句如何写
具体数据见下图,要求:根据编号查出日期最大的那行(三列信息都要显示出来),即每个编号在检索出的结果中只显示一条记录,并且是还款日期最大的那条记录。...
具体数据见下图,要求:根据编号查出日期最大的那行(三列信息都要显示出来),即每个编号在检索出的结果中只显示一条记录,并且是还款日期最大的那条记录。
展开
1个回答
展开全部
我的写法是oracle的,如果是其他数据库,自己调整(比如mysql的必须有别名等等)
两个办法
(1)编号和还款日期合并求最大值,然后再查询一次。
select * from table where 编号||还款记录 in (select 编号||max(还款记录) 合并记录 from table group by 编号)
(2)开窗函数,按照还款日期排序,然后求最大的那个。
select 编号,还款日期,金额 from (select rank()over(group by 编号 order by 还款日期 desc) 倒序,编号,还款记录,金额 from table) where 倒序=1
两个办法
(1)编号和还款日期合并求最大值,然后再查询一次。
select * from table where 编号||还款记录 in (select 编号||max(还款记录) 合并记录 from table group by 编号)
(2)开窗函数,按照还款日期排序,然后求最大的那个。
select 编号,还款日期,金额 from (select rank()over(group by 编号 order by 还款日期 desc) 倒序,编号,还款记录,金额 from table) where 倒序=1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询