oracle-ORACLE 统计分析查询 寻求帮助

问题描述

ORACLE 统计分析查询 寻求帮助

Oracle数据库中现有一表,数据形式如下:
ID 名称
1 B
2 A
3 C
4 B
5 A
6 B
其中ID是主键,现在如何通过一条SQL查询得到以下结果:
ID 名称 次数
1 B 1
2 A 1
3 C 1
4 B 2
5 A 2
6 B 3

解决方案

select t.id,t.name ,sum(count(*)) over(PARTITION BY t.name order by t.id) count from tbl_test t group by t.id,t.name order by t.id 试试看!

时间: 2024-11-02 13:09:59

oracle-ORACLE 统计分析查询 寻求帮助的相关文章

Oracle.中如何查询当前版本中的各参数

oracle Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数.Oracle系统中的参数,根据系统使用情况可以简单分为两大类,普通参数,也就是Oracle系统正常使用的一些参数,另外一类就是特殊参数,包括三种,过时参数.强调参数和隐藏参数.随着Oracle数据库新版本的发布,相应每次都会增加或者删除一些参数.如何查询当前版本数据库系统的参数情况以及当前系统版本相对于以前版本增加或者丢弃的那些参数呢?本文

服务器-oracle千万级查询速度问题

问题描述 oracle千万级查询速度问题 一个2.3w的服务器,现有数据1500w左右,按月分区,大约有10几个分区. 查询两个一个上月的数据,查询时间在100s多,客户直接受不了了,是否可以秒开? 如何优化? 解决方案 为什么要一次性返回全部数据呢?那样当然慢,可以分页.另外,你是怎么查询的,有没有对条件加上索引. 解决方案二: 把一些常用数据放cache,内存中.查询数据库就刷新内存.这样只有第一个慢. 解决方案三: 你可以利用oracle的分批次查询,比如:SELECT * FROM (

记录数-关于存储过程和Oracle对表的查询

问题描述 关于存储过程和Oracle对表的查询 查询sys用户下的所有表,将表内记录数大于2条的表名和记录数记录到table_name_and_cont_bak表中 count字段内. 查询table_name_and_cont_bak,将里面表名重复的,并且没有count字段的记录删除.

oracle数据库-oracle sql 动态查询问题----大神请进

问题描述 oracle sql 动态查询问题----大神请进 问题场景,有表1如下: 姓名 科目 王二 语文 王二 数学 张三 语文 得到如下检索结果: 姓名 科目1 科目2 王二 语文 数学 张三 语文 问题:若表1是动态的,再增加一条或多条记录,如:李四 英语 怎样才能得到: 姓名 科目1 科目2 科目3 王二 语文 数学 张三 语文 李四 ---- ---- 英语 可否通过查询语句实现?若不能,是否有其他手段实现? 解决方案 select name, WMSYS.WM_CONCAT(sub

语句-关于一个oracle 的sql 查询

问题描述 关于一个oracle 的sql 查询 哪位大神能帮我看看这个语句怎么写 有区间[i1,i2]与bgpprefix 表中的nstartip 和nstopip 比对,查询能使(i1>=nstartip ,且i2<=nstopip),若存在多个,取nstopip-nstartip 最小的那一项,要求必须是查完要求的区间,在从区间中用min()函数找到nstopip-nstartip的那一项 要求效率要高,各位大神帮个忙啊 解决方案 SELECT TOP 1 nstartip, nstopi

关于oracle关联表查询的sql语句

问题描述 关于oracle关联表查询的sql语句 现在两张表,分别是表A,表B. 表A: ID CONTENT STARTDATE ENDDATE 1 测试内容1 2014/6/1 2014/6/15 2 测试内容2 2014/5/25 2014/6/30 3 测试内容3 2014/6/8 2014/7/1 4 测试内容4 2014/6/10 2014/6/30 表B: ID A_ID CONTENT MDATE 1 2 测试1 2014/6/5 2 2 测试3 2014/5/3 3 4 测试2

两个不同网段的oracle能互相查询数据吗?

问题描述 两个不同网段的oracle能互相查询数据吗? 比如我在192.168.1.2的pl-sql上怎么去访问10.10.10.10的数据呢? select * from user@10.10.10.10/service.table_name; 我试了下,好像不行....求大侠指点! 解决方案 你这样写 应该是不行的,你要创建一个dblink. 类似于: Oracle中创建dblink的方法 解决方案二: 可以 给个用户就行 解决方案三: 如果是局域网需要映射到那台主机IP 解决方案四: 其实

求帮助,oracle数据库,查询出每个最新时间的那一条数据

问题描述 求帮助,oracle数据库,查询出每个最新时间的那一条数据 select p.* from (select rownum as 序号 ,n.* from (select sitename as 站点名称, RecordTime as 记录时间 ,decode(avg(case item when 211 then value else null end),0,'0.00000',trim(to_char(avg(case item when 211 then value else nu

oracle 分页查询-Oracle数据库分页查询

问题描述 Oracle数据库分页查询 分页查询语句.之前用java获取分页信息是分两步走的,首先获取想要得到的字段信息,第二部获取总记录数count(*).现在因为种种原因,就是想请教高手一下,能不能在一个sql中,查询出这些信息包括总记录数.比如 表 test 字段有id,name. select * from (select A.*,ROWNUM RN from(select * from test) A where ROWNUM<=11) where RN>=1; 这是分开写时,查询的语