表格式如下,
ID A B
1 1 23
2 1 17
3 2 1
4 2 7
5 2 10
6 3 19
7 3 21
8 3 1
9 3 88要求新增一列D,D列格式如下:首先A列中的项必须相同,然后比较B列的值,B列值最小的显示最小。最后结果如下所示:ID A B D
1 1 23
2 1 17 最小
3 2 1 最小
4 2 7
5 2 10
6 3 19
7 3 21
8 3 1 最小
9 3 88
请问应该怎么写语句?
ID A B
1 1 23
2 1 17
3 2 1
4 2 7
5 2 10
6 3 19
7 3 21
8 3 1
9 3 88要求新增一列D,D列格式如下:首先A列中的项必须相同,然后比较B列的值,B列值最小的显示最小。最后结果如下所示:ID A B D
1 1 23
2 1 17 最小
3 2 1 最小
4 2 7
5 2 10
6 3 19
7 3 21
8 3 1 最小
9 3 88
请问应该怎么写语句?
解决方案 »
- 我想在自己的本机上用sqldeveloper连接ORACLE数据库,请问要怎么配置?
- 高分求教问题:What happens to the HR session? What happens to the SYS session?
- oracle10g 如何减少执行 SUM 计算的时间呢?
- 如何定义varchar2长度
- 字符集问题~~~
- insert语句,使用默认值的问题。
- SQL语句实现数量拆分问题
- 请高手帮帮忙ORA-00600:内部错误,参数[19004],[],[],[],[],[],[],[]
- 如何杀掉用户的数据库连接? 谢谢了
- 在plsql中如何判断一个number型的数为整数?
- 什么情况会导致如下信息啊?
- 运行OEM出错 cannot find class java/lang/Thread
from tb A
left join
(select A,min(B) B,'最小' D from tb group by A)B
on A.A=B.A and A.B=B.B
;
SELECT ID,A,B,DECODE(RN,1,'最大',NULL) D FROM
(SELECT ROW_NUMBER() OVER(PARTITION BY A ORDER BY B) RN,ID,A,B FROM YOURTABLE)
ORDER BY A
select * from youtable
minus
select * from youtable t
exists(select 1 from (select a,min(b)b group by a) where t.a=a and t.b=b)
union all
select id,a,b,'最小' d from youtable t
exists(select 1 from (select a,min(b)b group by a) where t.a=a and t.b=b)