Oracle常用的统计类SQL

Oracle 常用SQL命令 delete from jjl_customersource jc where jc.code='C0000151721' and jc.name='唐';找出主键为nrcelldu_uk,start_time都重复的数据,只留下一条数据。如果只复制表结构,只需要在结尾加上 where 1=0。--查看当前用户的表可操作权限。--查看当前用户的角色。--查看当前用户的权限。--查看当前用户信息。7、查看表空间的使用情况。5、查看所有被锁的表。8、查看表空间的路径。 阅读详情

前言

场景:了解业务数据(多是一些简单统计和抽样)
编程语言:Oracle、Python

统计

非空占比

SELECT
t1.f1 amount,
t1.f1/t2.f1 proportion
FROM
(SELECT COUNT(*)f1 FROM {table} WHERE {field} IS NOT NULL)t1,
(SELECT COUNT(*)f1 FROM {table})t2
;

单字段各项占比

SELECT
t1.f2 fullname,
t1.f1 amount,
t1.f1/t2.f1 proportion
FROM
(SELECT COUNT(*)f1,{field} f2 FROM {table} GROUP BY {field})t1,
(SELECT COUNT(*)f1 FROM {table})t2
ORDER BY amount DESC
;

单字段离散化

SELECT {field},COUNT(1) FROM
(
    SELECT CASE
        WHEN {field}>=0.0 AND {field}<0.2 THEN '[0.0,0.2)'
        WHEN {field}>=0.2 AND {field}<0.4 THEN '[0.2,0.4)'
        WHEN {field}>=0.4 AND {field}<0.6 THEN '[0.4,0.6)'
        WHEN {field}>=0.6 AND {field}<0.8 THEN '[0.6,0.8)'
        WHEN {field}>=0.8 AND {field}<1.0 THEN '[0.8,1.0)'
    END {field}
    FROM {table}
)
GROUP BY {field}
ORDER BY {field}

限量取数

按序

-- 前n行
SELECT * FROM {table} WHERE ROWNUM<=5;
-- 第n行
SELECT * FROM (SELECT ROWNUM a,t.* FROM {table} t)WHERE a=3;
-- 第m~n行
SELECT * FROM (SELECT ROWNUM a,t.* FROM {table} t WHERE ROWNUM<=5)WHERE a>=3;
-- 尾行
SELECT * FROM (SELECT ROWNUM a,t.* FROM {table} t)WHERE a=(SELECT COUNT(*) FROM {table});
-- 尾n行
SELECT * FROM (SELECT ROWNUM a,t.* FROM {table} t)WHERE a=(SELECT COUNT(*)-3 FROM {table});

随机

按百分比

SELECT * FROM {table} SAMPLE(1) WHERE ROWNUM<=10;

按数量

SELECT * FROM
(SELECT * FROM {table} ORDER BY DBMS_RANDOM.VALUE)
WHERE ROWNUM<=10;

随机取某批ID,然后根据ID按序取数

SELECT {fields} FROM
(SELECT * FROM {table} WHERE {field_in} IN
(SELECT {field_in} FROM {table} SAMPLE(1) WHERE ROWNUM<={rownum})
ORDER BY {order_by})

文本

字符串匹配

SELECT {field} FROM {table} WHERE INSTR({field},'{keyword}')>0;

正则表达式

SELECT {field} FROM {table} WHERE REGEXP_INSTR({field},'{pattern}')>0;

Python生成SQL

按数量随机采样

sql = '''
SELECT
    t1.f2 fullname,
    t1.f1 amount,
    t1.f1/t2.f1 proportion
FROM
    (SELECT COUNT(*)f1,{field} f2 FROM {table} GROUP BY {field})t1,
    (SELECT COUNT(*)f1 FROM {table})t2
ORDER BY amount DESC
'''.format(table='table_name', field='field_name')

随机取某批ID,然后根据ID按序取数

sql = '''
SELECT {fields} FROM
(SELECT * FROM {table} WHERE {field_in} IN
(SELECT {field_in} FROM {table} SAMPLE(1) WHERE ROWNUM<={rownum})
ORDER BY {order_by})
'''.format(
    fields='sid,entity,title,clause,word',
    field_in='id',
    table='industry',
    order_by='tid',
    rownum=20,
)

连续数据离散化

def discretize(table, field, n=10, start=0.0, end=1.0):
    scope = (end - start) / n
    when = '\n'.join(
        "WHEN {field}>=%.2f AND {field}<%.2f THEN '[%.2f,%.2f)'".format(field=field) % (
            start+i*scope, start+(i+1)*scope, start+i*scope, start+(i+1)*scope)
        for i in range(n)
    )
    return '''
    SELECT {field},COUNT(1) FROM
    (
    SELECT CASE
    {when}
    END {field}
    FROM {table}
    )
    GROUP BY {field}
    ORDER BY {field}
    '''.format(table=table, field=field, when=when)
NLP-SQL:最终用户的自然语言查询系统 NLP SQL 面向最终用户的自然语言查询系统该系统使用映射,标记化和从类似英语的查询中获取信息,从而为某些类别的查询(包括关系查询,涉及简单联接条件的查询等)提供准确的结果。 快速设置 创建并激活虚拟环境:$ virtualenv nlpSql $源nlpSql / bin / activate 下载所需的软件包:$ pip install -r requirements.txt 下载NLTK软件包:$ python 导入nltk nltk.download() 运行服务器:$ python nlp-sql.py 参考文献:[1] Garima Singh,Arun Solanki,2016年。一种将自然语言转换为关系数据库SQL查询的算法。 印度大诺伊达的释迦牟尼佛大学 立即下载

相关推荐

爬虫-Playwright逆向小红书

【代码】爬虫-Playwright逆向小红书。

weixin_44201223的博客 2432

Oracle——常用统计汇总分析

1.avg() 求平均值 求指定列的平均值,如果求多个列的平均值需要多个avg() 实例: select avg(t.c1) from hjj t where t.name='SD.MY'; 指的是在hjj这个表当中当name字段等于'SD.MY'时,c1列的平均值  2.count() 统计指定列的行数 实例: select count(*),count(t.c1) fro...

weixin_41855662的博客 7215

Eclipse在Mac上报错JNI_CreateJavaVM?可能是你的JDK架构搞错了(附Adoptium JDK下载指南)

本文深入解析了Mac(尤其是Apple Silicon芯片)上Eclipse启动时出现“JNI_CreateJavaVM”错误的根本原因,即JDK架构(aarch64与x86_64)不匹配。文章提供了详细的诊断步骤,并推荐通过下载并配置Eclipse Adoptium提供的aarch64版本JDK来彻底解决问题,同时附上清晰的配置指南。

weixin_29065659的博客 321

Oracle统计信息命令

转载于:https://www.youkuaiyun.com/tags/NtDaYgzsNDg3NjAtYmxvZwO0O0OO0O0O.html Oracle统计信息命令 1. 收集数据字典统计信息(针对SYS,SYSTEM 及其他数据库用户) EXEC DBMS_STATS.gather_dictionary_stats; 2. 收集基表的统计信息V$,gv$视图 EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; select table_name, num_.

weixin_43475880的博客 1815

芯片设计中的STA实战:如何避免时序违例(含常见问题解析)

本文深入探讨了芯片设计中静态时序分析(STA)的实战应用,重点解析了如何避免时序违例。文章从STA的核心逻辑与约束制定出发,强调了将时序意识植入RTL编码与综合阶段的重要性,并详细介绍了后端物理实现中的时序收敛策略。同时,针对跨时钟域路径误报、多工艺角违例等常见问题提供了深度解析与调试技巧,旨在帮助IC设计工程师系统性地掌握时序分析与优化方法。

open4的博客 515

STM32解析航模遥控器的PPM信号

使用STM32对航模遥控器的PPM信号进行解析

qq_44343584的博客 9734

Oracle数据库 表数据的统计语句汇总

Oracle数据库 表数据的统计语句汇总

ye43191的博客 4066

基于simulink构建一个完整的航空航天器姿态控制与导航仿真模型

航空航天器的姿态控制与导航系统是确保飞行器稳定运行和精确执行任务的核心技术。其目标是通过传感器获取飞行器的状态信息,并利用控制器调整飞行器的姿态,使其按照预定轨迹飞行。基于MATLAB/Simulink平台进行航空航天器姿态控制与导航系统的建模与仿真,可以帮助研究者验证算法性能并优化系统的动态响应。本项目旨在构建一个完整的航空航天器姿态控制与导航仿真模型,包括飞行器动力学建模、传感器模块设计、控制器实现以及导航算法仿真,并通过仿真分析其性能。

xiaoheshang_123的博客 273

oracle快速统计表条数_Oracle快速统计大表总记录数

你还在苦思冥想怎样快速统计一张装有大量数据的表的总记录数吗?你还在用select count(*) from table_name 吗?可以来试试我的新发现:如果想统计一张上千万或上亿的数据量的时候直接count(*)是非常耗时的,几千万的数据估计都要等上好几分钟。快速查询表的总记录数:select table_name, t.num_rows, t.last_analyzed from tab...

weixin_39865952的博客 4472

Ambari 3.0+BigTop 3.3集群部署实战

Ambari 3.0+BigTop 3.3集群部署

docsz的博客 612

059、肤色还原专项调优:记忆色、颜色偏好建模与主观评价标准

文章摘要:肤色还原调优的技术挑战与实践经验 本文系统探讨了手机影像中肤色还原的技术难点与解决方案。通过实际案例揭示了肤色还原的本质是记忆色与颜色偏好的博弈,而非单纯的技术指标达标。文章详细分析了记忆色的三大特性(高饱和、地域差异、场景依赖)和颜色偏好的数学建模方法,提出了基于YCbCr/Lab空间的参数化模型和代价函数设计。在评价体系方面,强调主观评价的重要性,并分享了专家评审、用户调研、场景覆盖的三级验证方法。最后总结了实战中的关键经验,包括肤色检测优化、过渡处理、动态范围管理及视频/拍照差异策略。文章指

sundong_81的博客 250

oracle常用数据统计,办公系统Oracle数据库监控、统计常用SQL语句

在维护生产环境数据库时,如果需要人工修改数据,禁止使用工具锁表式修改数据(例如:Select * from XXX ... forUpdate),最好使用数据处理脚本,例如在命令行中,一个事务处理完毕(直接提交Commit)。 如下是常用的监控、分析数据的SQL语句。 1、统计表空间语句 select a.a1 表空间名称, c.c2 类型, c.c3 区管理, b....

weixin_35618325的博客 289

UniRx之基本语法格式

想要更好的去学习UniRx,我们最好是先理解UniRx 的语法格式。就像我们去学习英语或者汉语一样,理解了基本的语法规则后,再学其他的就信手拈来了。

TxNet 925

Oracle常用SQL语句大全

ORACLE常用SQL语句大全 一、基础1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server--- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO

Mick_^_^的博客 6694

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

oracle 常用sql语句

常用sql语句及案例(oracle) 目录 1)基本 2)数学函数 3)rownum 4)分页 5)时间处理 6)字符函数 7)to_number 8)聚合函数 9)学生选课 10)图书馆借阅 基本 --新建表: create table table1( id varchar(300) primary key, name varchar(200) not null...

qingkaqingka的博客 6383

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

oracle常用经典sql查询

oracle常用经典sql查询By 闫磊 编写 2004.10.11 Email:landgis@126.com yanleigis@21cn.com,1、删除重复记录delete from wr_recordformtable a where rowid!=(select max(rowid) from wr_recordformtable t where t.p

yanleigis的专栏 6888

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Oracle常用SQL汇总

今天的博客主题 数据库篇 --》Oracle--》常用SQL汇总 分页SQL语句 默认排序 拼音排序 分组统计聚合 正则查询 设置表主键自增 按照分号;拆分字段为多行 分页SQL语句 SELECT * FROM ( SELECT TMP. ID, ROWNUM AS ROW_ID FROM (SELECT CC. ID FROM MY...

小萝卜.的博客 2275

Oracle常用sql总结

总结Oracle中常用的SQL,以及记录使用过程的问题等。内容会持续更新!

拾年一剑 的专栏 318

oracle常用sql

要获取 Oracle 表的字段(列)信息,可以通过查询数据字典视图来实现

嗨,来了,累了把,歇息一下,暂时放下一切的纷纷扰扰,享受一份自己独处的时光 1278

Oracle运维常用SQL

Oracle处理数据缓慢,系统相应缓慢,除了排查代码、网络,数据库也不可忽视,下面一些语句可以筛查需要进行调优的SQL、Oracle设置等。 目录 查询执行最慢的SQL 查询表空间 查询使用最多的sql 查看IO最大的前10张表 查看总消耗时间最多的前10条SQL语句 查看CPU消耗时间最多的前10条SQL语句 查看消耗磁盘读取最多的前10条SQL语句 查询执行最慢的SQL s...

jerryzhou的博客 1477

Oracle DBA常用 sql

Oracle DBA 常用 sql

杨群的博客 1447

ORACLE常用SQL语句大全

ORACLE常用SQL语句大全 DDL:数据库定义语言(CREATE、ALTER、DROP、TRUNCATE、COMMENT、RENAME),用来创建数据库中的表、索引、视图、存储过程、触发器等对象的语句。 数据库操作: 数据表操作 创建表: CREATE TABLE tableName( columnName1 constraint1, columnName2 const...

Japathy 1160

01串加法oracle,ORACLE常用SQL

ORACLE常用SQL一.ORACLE常用表1.dual ORACLE用来给没有表的运算符.如:select sysdate from dual;二.字符串操作1.|| 字符串加法 select 'a'||'bc' from dual; --'abc'三.时间和日期1.sysdate 系统当前的日期sysdate-1 减少一天;sysdate+1 增加一天;sysd...

weixin_34218582的博客 340

Oracle数据库常用sql语句

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要进行字符

weixin_49562471的博客 1111

ORACLE常用性能监控SQL【一】

系列ORACLE常用性能监控SQL【一】ORACLE常用性能监控SQL【二】Oracle-动态性能视图解读死锁后的解决办法如果死锁不能自动释放,就需要我们手工的 kill session生成Kill Session语句 查看有无死锁对象,如有 kill sessionSELECT 'alter system kill session ''' || sid || ',' || serial# || '

小工匠 5万+
上一篇: Python日期和时间 数据类型 及对应数据库操作
下一篇: Python非线性回归
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值