扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
查询某个字段中最大的值,直接使用max函数即可:
成都创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都网站制作、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元商南做网站,已为上家服务,为商南各地企业和个人服务,联系电话:13518219792
select max(字段名) from 表名
1、创建测试表,
create table test_max(id number, score number);
2、插入测试数据
insert into test_max values (1, 85);
insert into test_max values (2, 88);
insert into test_max values (3, 89);
insert into test_max values (4, 92);
3、查询表的记录,select t.*, rowid from test_max t;
4、编写sql,查询score为最大的记录,用max函数实现;
select t.* from test_max t where score = (select max(score) from test_max),
Oracle number datatype 语法:NUMBER[(precision [, scale])]
简称:precision -- p scale -- s
NUMBER(p,s)
范围: 1 = p =38, -84 = s = 127
保存数据范围:-1.0e-130 = number value 1.0e+126
保存在机器内部的范围: 1 ~ 22 bytes
有效位:从左边第一个不为0的数算起的位数。
s的情况:
s 0
精确到小数点右边s位,并四舍五入。然后检验有效位是否 = p。
s 0
精确到小数点左边s位,并四舍五入。然后检验有效位是否 = p + |s|。
s = 0
此时NUMBER表示整数。
从而,Oracle可以存储、可以运算的最大整数是 1e126 -1 。
declare
n number:=0;
begin
for i in REVERSE 1..125 loop
n := n + 9*power(10,i);
dbms_output.put_line(i || '--' || n);
end loop;
insert into tt(id)values(n);
commit;
end;
/
经实际验证,的确可以存放1e126-1,但无法查看,也无法参与运算。
1.查询oracle表空间的使用情况
select b.file_id文件ID,
b.tablespace_name表空间,
b.file_name 物理文件名,
b.bytes 总字节数,
(b.bytes-sum(nvl(a.bytes,0))) 已使用,
sum(nvl(a.bytes,0))剩余,
sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
order by b.tablespace_name
2.查询oracle系统用户的默认表空间和临时表空间
select default_tablespace,temporary_tablespace from dba_users
3.查询单张表的使用情况
select segment_name,bytes from dba_segments where segment_name = 'RE_STDEVT_FACT_DAY' and owner = USER
RE_STDEVT_FACT_DAY是您要查询的表名称
select tablespace_name,sum(maxbytes)/1024/1024/1024 from dba_data_files where tablespace_name='XXXXXX(大写,或者用upper)'
如果要查看所有表空间的,那么就用group by分组解决。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流