oracle 常用(一)
常用的6个分组函数: 注意点:where字句中不能使用组函数。要用到having函数。 但是从优化角度看,尽量使用where
avg :平均值 sum:求和 min:最小值 max:最大值 count:求个数 wm_concat:行转列 nvl(列名,0)空置给0
例子1:select avg(列名),sum(列名) from 表名; -----> 查询表名里面某列的平均值以及求和 。 最小只和最大值,count 一样 count可以写(*)。count(distinct 列名) 这个可以去重复
例子2:select 列名1, wm_concat(列名2) from 表名 group by 列名1;
这个是按找列名1 查询列名2 的数据并把列名2的数据进行行转列
例子3:select count(*),count(nvl(列名,0)) from 表名; 计算个数时,空值计算到
group by 语句:
例: select 列名1,avg(列名2) from 表名 group by 列名1;
意思就是按照列名1分组查询列名2的平均值
格式:select a,组函数(x) form 表名 group by a; 注意;所有没有包含在函数的列都要跟在group by 后面
order by 排序
例: select 列名1,列名2,avg(列名2) from 表名 group by 列名1,列名2 order by 列名1;
查询出来之后按列名1 进行排序 便于查看
默认是升序,后面加上 空格 desc 就是降序
例:select 列名1,列名2,avg(列名2) from 表名 group by 列名1,列名2 order by 列名1 desc;
where 和having
例: select 列名1, avg(列名2) from 表名 group by 列名1 having 列名1 =X;
select 列名1, avg(列名2) from 表名 where 列名1 =X group by 列名1 ;
这两条语句执行结果是一样的。前者是先分组在过滤。后者是先过滤在分组。 我们优先用后者
别名例:
SELECT a.XXX_id 分拨的ID,a.XXX_name 分拨 FROM XXAXX a where a.XXX_name in ('南通分拨中心','淮安分拨中心','芜湖分拨中心',
'蚌埠分拨中心','杭州分拨中心','温州分拨中心','宁波分拨中心') order by 分拨的ID
--这样的例子是木有意义的,只是一个例子
也可以order by 1 意思是查询列的第一个列
SELECT a.XXX_id 分拨的ID,a.XXX_name 分拨 FROM XXAXX a where a.XXX_name in ('南通分拨中心','淮安分拨中心','芜湖分拨中心',
'蚌埠分拨中心','杭州分拨中心','温州分拨中心','宁波分拨中心') order by 1
这样的效果是一样的
分组函数嵌套:
例: select max(avg(列名) ) from 表名;
剩下的再补充
oracle 常用(一)的更多相关文章
- Oracle常用命令大全(很有用,做笔记)
一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...
- Oracle常用语法
Oracle常用语句语法汇总 Oracle10g 1 第一章Oracle命令 a) 系统管理员连接 conn */* as sysdba b) 查询当前用户 show user c) 创建新用户 cr ...
- Oracle常用函数
前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- Oracle常用语句集合
oracle常用经典SQL查询 常用SQL查询: .查看表空间的名称及大小 )),) ts_size from dba_tablespaces t, dba_data_files d where t. ...
- oracle常用命令(比较常见好用)
一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgr ...
- oracle 常用语法
一.ORACLE的启动和关闭1.在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea.启动ORACLE系统oracle>svrmgrlSVRMG ...
- ORACLE 常用字符函数
ORACLE 常用字符函数1 ASCII(arg1)返回参数arg1的十进制数字表示.如果数据库设置为ASCII,则采用的是ASCII码字符.如果设置为EBCDIC,则采用的是EBCDIC字符 sel ...
- Oracle常用命令1
一. 安装是用户管理: sqlplus /nolog; connect /as sysdba; alter user sys identified by change_on_install; alte ...
- ORACLE 常用SQL查询
一.ORACLE的启动和关闭 1 .在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle > sv ...
随机推荐
- 从一条巨慢SQL看基于Oracle的SQL优化(重磅彩蛋+PPT)
本文根据DBAplus社群第110期线上分享整理而成,文末还有好书送哦~ 讲师介绍 丁俊 新炬网络首席性能优化专家 SQL审核产品经理 DBAplus社群联合发起人.<剑破冰山-Oracle开发 ...
- Java进阶面试题大集合-offer不再是问题
Java基础 1.List 和 Set 的区别 2.HashSet 是如何保证不重复的 3.HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)? 4.HashMap ...
- Linux下的几种IPC方式及其C语言实现
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- sql server 实现多表连接查询
项目中要实现多表查询,用外连接实现. a表 a(aid,aname) 其中aid为pk b表 b(aid,bname,aid) 其中 bid为pk,aid为fk c表 c(cid,cname,aid) ...
- Appium入门(5)__ Appium测试用例(1)
步骤为:启动AVD.启动Appium.写用例(python).执行 一.启动Android模拟器 二.启动Appium Server 双击appium图标启动,配置 ...
- 洛谷P4425 转盘 [HNOI/AHOI2018] 线段树+单调栈
正解:线段树+单调栈 解题报告: 传送门! 1551又是一道灵巧连题意都麻油看懂的题,,,,所以先解释一下题意好了,,,, 给定一个n元环 可以从0时刻开始从任一位置出发 每次可以选择向前走一步或者在 ...
- 【PyQt5-Qt Designer】Qt 的标准对话框总结
PyQt5 各种弹出对话框的总结 忙碌了两天才总结完,深刻体会到 “编程在实践中才能领悟更深”,后续有了更多的 理解继续来补充... 效果如下: 参考: https://www.cnblogs.com ...
- python练习题-day2
1.判断下列逻辑语句的True,False 1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 True ...
- [MySQL优化2]不用SELECT * FROM table;
假设有一张employees表,它有8列:员工人数,姓氏,名字,分机,电子邮件,办公室代码,报告,职位等.如果要仅查看员工的名字,姓氏和职位,请使用以下查询:SELECT lastname, firs ...
- Lint——Android SDK提供的静态代码扫描工具
Lint和FindBugs一样,都是静态代码扫描工具,区别在于它是Android SDK提供的,会检查Android项目源文件的正确性.安全性.性能.可用性等潜在的bug并优化改进. 下图简单地描述了 ...