在线急救 在PL SQL中怎么写如下的判断语句?
来源:百度知道 编辑:UC知道 时间:2024/05/31 19:11:52
有一个表名称为test如下:
编号 交易日期 交易单价
12345 20080102 6.99
12345 20080903 6.87
12345 20070609 7.00
23456 20080912 12.89
34567 20080409 1.23
34567 20050406 1.35
45678 20080405 200.2
在上面的数据表里面我要筛选如果编号有重复的就显示最大的交易日期的信息,如果没有重复的就显示当前信息,运行结果要求如下:
编号 交易日期 交易单价
12345 20080903 6.87
23456 20080912 12.89
34567 20080409 1.23
45678 20080405 200.2
编号 交易日期 交易单价
12345 20080102 6.99
12345 20080903 6.87
12345 20070609 7.00
23456 20080912 12.89
34567 20080409 1.23
34567 20050406 1.35
45678 20080405 200.2
在上面的数据表里面我要筛选如果编号有重复的就显示最大的交易日期的信息,如果没有重复的就显示当前信息,运行结果要求如下:
编号 交易日期 交易单价
12345 20080903 6.87
23456 20080912 12.89
34567 20080409 1.23
45678 20080405 200.2
不是这样的,这样会把所有的数据都取出来,还有可能不对,总之就是不对,
我的解决方法是这样的,你不是plsql么!
那你可以把所有的编码(不重复的)取出了,放到游标中(或其他中),然后遍历游标,有select* from test where rownum < = 1 order by 交易日期 desc;
希望大家回答问题不要想当然,
大概是这样 也许你的自己再改改, select mix(交易单价) as dj from test group by 编号 order by 编号 asc
select 编号,max(交易日期),交易单价 from test group by 编号,交易单价
select 编号,max(交易日期),交易单价 from test group by 编号,交易单价