1.partition by和order by

先看三个小需求:

①查询出各个类编号的书本的数量。

 select  count (类编号)   as 数量, 类编号
from Books group by 类编号

结果如图所示,这个时候用的是group by。

②查询出每一类编号中书的单价和。(例子:类编号为2的书的单价和)

     select distinct  sum (价格) over(partition by 类编号  order by 类编号 ) as 总价格 ,类编号
from Books

结果如图所示,用的是partition by。

③查询出每一类编号中价格最高的一本书。

   select * from
(
select ROW_NUMBER() over(partition by 类编号 order by 价格 desc) as rowID,类编号,书名,价格 from Books
) a where rowid=1 --切记一定要给括号里面的数据集合起一个别名,要不然一直报错

结果如下图所示,

看完三个例子之后,总结一下:

group by是对检索结果的保留行进行单纯分组,一般总爱和聚合函数一块用例如AVG(),COUNT(),max(),main()等一块用。 而结果返回的一般只有一条反映统计值的记录

partition  by用于给结果集分组,能返回一个分组中的多条记录。

最近新明白的SQL小知识的更多相关文章

  1. 几个SQL小知识

    写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系统如期上线,刚开始运行一切良好,后来随着数据量的急剧膨胀,慢慢出现了很多莫名其妙的问题,经过调试,修改了 ...

  2. sql小知识

    1:查询某一段落内的几条数据,按时间降序. LIMIT 5,10; //检索记录行6-15 2:创建视图,  查询出某些类别的数据,保存在视图中.  || 的优先级高于and ) ); 3:  查询出 ...

  3. 几个SQL小知识(转)

    出处:http://www.cnblogs.com/wuguanglei/p/4205976.html 写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系 ...

  4. 几个SQL小知识(转)

    原文地址:http://www.cnblogs.com/wuguanglei/p/4205976.html 写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码 ...

  5. SQL小知识_长期总结

    1. 左联接右联接区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner ...

  6. SQL 小知识笔记

    1.自动生成序列号 select row_number() over(order by field1) as row_number,* from t_table

  7. PySpark SQL 相关知识介绍

    title: PySpark SQL 相关知识介绍 summary: 关键词:大数据 Hadoop Hive Pig Kafka Spark PySpark SQL 集群管理器 PostgreSQL ...

  8. DevExpress之GridControl控件小知识

    DevExpress之GridControl控件小知识 一.当代码中的DataTable中有建数据关系时,DevExpress 的 GridControl 会自动增加一个子视图 .列名也就是子表的字段 ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. fedora 28 重新生成 /boot/grub2/grub.cfg

    使用情景: 之前电脑安装了windows 7/ fedora 28 双系统,由于特殊原因,需要删除 windows 系统.在格式化硬盘后,我们还需要跟新 grub2 的启动条目:删除grub 启动的界 ...

  2. 【PAT】B1039 到底买不买(20)(20 分)

    /* 琢磨了很久,当时还没做几道题,参考了柳婼的思路 */ #include<stdio.h> #include<string.h> char arr[1000]={'\0'} ...

  3. Django之数据表增删改查

    Django数据增删改查: 上课代码 from django.shortcuts import render,HttpResponse # Create your views here. from a ...

  4. android Application Component研究之Activity(二)

    http://blog.csdn.net/windskier/article/details/7172710 本文为原创文章,欢迎转载!转载时请注明出处:http://blog.csdn.net/wi ...

  5. E - The Balance POJ - 2142 (欧几里德)

    题意:有两种砝码m1, m2和一个物体G,m1的个数x1,  m2的个数为x2, 问令x1+x2最小,并且将天平保持平衡 !输出  x1 和 x2 题解:这是欧几里德拓展的一个应用,欧几里德求不定方程 ...

  6. P1474 货币系统 Money Systems(完全背包)(大水题)

    题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单 ...

  7. 从头到尾使用Geth的说明-2-cli可用命令-有2个地方标红,之后查查源码后看看能不能解决

    geth - the go-ethereum command line interface 以太坊命令行接口 格式: geth [options] command [command options] ...

  8. ethereum/EIPs-1

    https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md 介绍了什么是EIP等等的详细信息: eip title status type a ...

  9. 迭代器协议和for循环工作机制

    一.递归和迭代 举个例子 递归:假如我去问路,路人甲看我长得盛世容颜,但是他不知道,他就去帮我问路人乙去了,路人乙跟路人甲说我也不知道,但一看路人甲美若天仙,就说,我去帮你问问路人丙,...完了可能得 ...

  10. Qt+Qgis二次开发:地理实体抽象

    1  概述 地理实体抽象是指点.线.面及其组合而成的,用于描述实际地物的数据结构. 其中包含几何实体和属性数据. GIS中进行几何操作,以各种实体类为基础进行操作. 在OGC中,地理实体可以由WKT表 ...