oracle 如何在一个表中取A列最大的那条记录,如果A列等于最大值同时有多条,取B列最大的那条记录

如题所述

第1个回答  2011-11-16
这个不是一个单纯的SQL就可以完成的,需要使用游标,或者存储过程。
select max(A) from table_name; ----取A列最大的记录,譬如说=100;
select count(A) as countA from table_name where A=100;----取等于最大值的有多少条数据;
然后做判断
if countA =1
------按照你的具体做法实现SQL
else
select max(B) from table_name;
fi本回答被网友采纳
第2个回答  2011-11-16
select max(A), B
from (select A, B, row_number() over(partition by A order B DESC) rk from tab) t
where rk = 1
group by B
第3个回答  2017-12-16
select t3.*
from t t3,
(
    select a,max(b) b from t t22,
    ( 
        select max(a) a
        from t t11
    ) t1 where t1.a = t22.a
    group by t22.a
) t2
where t3.a = t2.a and t2.b = t2.b

oracle 如何在一个表中取A列最大的那条记录,如果A列等于最大值同时有...
where t2.B = (select max(t3.B) from table_name t3)) where rownum = 1

oracle 如何在一个表中取A列最大的那条记录,如果A列等于最大值同时有...
这个不是一个单纯的SQL就可以完成的,需要使用游标,或者存储过程。select max(A) from table_name; ---取A列最大的记录,譬如说=100;select count(A) as countA from table_name where A=100;---取等于最大值的有多少条数据;然后做判断if countA =1---按照你的具体做法实现SQLelse select max(B) from ...

oracle 如何在一个表中取A列最大的那条记录,如果A列等于最大值同时有...
这个不是一个单纯的SQL就可以完成的,需要使用游标,或者存储过程。select max(A) from table_name; ---取A列最大的记录,譬如说=100;select count(A) as countA from table_name where A=100;---取等于最大值的有多少条数据;然后做判断 if countA =1 ---按照你的具体做法实现SQL el...

Oracle SQL 实现 在 A列的最大之中取得B列的最大值 数据
SELECT t1.R,t1.A,t1.B FROM tt t1 INNER JOIN (SELECT R,MAX(A) FROM tt GROUP BY R) t2 ON t1.R=t2.R;

oracle中选出某个字段里面最大值的记录的sql语句怎么写
insert into test_max values(4,100);insert into test_max values(5,50);commit;3、查询表中全量数据,select t.*, rowid from test_max t;4、编写sql,使用rank分析函数,取value值为最大的记录; select t.* from (select t.*, rank() over(order by value desc) rk from test_max t...

oracle中选出某个字段里面最大值的记录的sql语句怎么写
实现例句如下:SELECTa.*FROMtable1aWHERENOTEXISTS(SELECT1FROMtable1bWHEREb.id>a.id)或者SELECT*FROMtable1WHEREidIN(SELECTMax(id)FROMtable1)又或者SELECT*FROMtable1WHEREid=(SELECTMax(id)FROMtable1)

oracle中如何用sql实现查出某一张表中,某个字段的值最大的10条记录
以用户HR为例:select rownum rn,t.*from (select employee_id,first_name,salary from employees order by salary) t where rownum <=10;

oracle 查询最大值
oracle sql查询时取最大值实现例句如下:1、SELECT a.FROM table1 a WHERE NOT EXISTS (SELECT 1 FROM table1 b WHERE b.id>a.id)2、select * from table, (select name,max(value) value from table group by name) a where table.name=a.name and table.value=a.value ...

Oracle 查询最大数值的那条记录
select a.* from table a,(select 部门,max(年龄) 年龄 from table group by 部门) b where a.部门=b.部门 and a.年龄=b.年龄

oracle,抽取最大日期
1.如要直接取他们中的最大日期,则用内置函数greatest(A,B,C),这里A、B、C都是date类型的数据。 2.如果要在分组数据中取,则用组函数max(date_col)。

相似回答