5.sql2008分组与嵌套
1.Group by基本介绍;
2.Having的使用;
3.分组综合应用;
4.子查询基本介绍;
5.In/Exists/Any/Some/All;
6.子查询综合应用;
1.Group by基本介绍:依据BY提供的规则,将数据集划分为若干个小区域,然后对小区域进行处理.
--认清实质:按照指定字段将相同的分为一组,成为一个集合,这样就会有多个小集合.然后按照指定字段(不指定就为*)用聚合函数统计.
A.客户男女各多少人:
select csex as '性别',COUNT(*) as '人数'
--一旦分组只能写分组字段和聚合函数,中间不能再写其他字段.
from customer
group by 性别
B. 统计出每一类商品中的最高的价格;
select 商品ID ,max(商品价格) as '最高价格'
from 商品表
group by 商品ID
C.查询出出售数量最多的商品的货号;
select 商品ID,count(*)
from 明细表
group by 商品ID
order by count(*) desc
这只销售最多的排序.应该再嵌套一次:
select 商品ID,count(*)
from 明细表
group by 商品ID
having count(*)=
(
select tip 1 count(*)
from 明细表
group by 商品ID
order by count(*) desc
)
group by all
示例:统计出2016年客户购物情况:
select cno ,count(*) as '购物数量'
from 明细表
where 购物日期 between '2016-1-1' and '2016-12-31'
group by cno
order by count(*) //排序
如果加上all会把在此时间段未购物的也统计出来.
示例:统计出购物数量多于两件的客户姓名及数量,按照数量降序排列.
分析:需要使用客户表和购物明细表两个表,利用分组将客户号和数量大于2的找到,然后再将两个表关联查询后得出结果.(对分组后的数据进行筛选加条件必须使用having子句.)
select cname,t2.购物量字段
from customer t1,
(
select cno,count(*)
from 明细表
group by cno
having count(*)>2
) t2
where t1.cno=t2.cno
order by t2.购物量字段 desc
!!!做分组查询时,select语句后面只能是分组的字段名或者聚合函数.
嵌套查询:
可以嵌套在select中,也可以嵌套在from中,还可以嵌套在where中.
示例1.统计出哪些客户购买了多少件商品.(select,from)
示例2.查询出售最多的商品名字.(where)
5.sql2008分组与嵌套的更多相关文章
- 【代码笔记】Web-CSS-CSS 分组和嵌套
一, 效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- CSS 分组和嵌套选择器
CSS 分组和嵌套选择器 一.分组选择器 在样式表中有很多具有相同样式的元素. h1 { color:green; } h2 { color:green; } p { color:green; } 为 ...
- CSS3——分组和嵌套 尺寸 display显示 position定位 overflow float浮动
分组和嵌套 分组选择器 ——————> 嵌套选择器 能适用于选择器内部的选择器的样式 p{ }: 为所有 p 元素指定一个样式. .marked{ }: 为所有 class="m ...
- CSS分组和嵌套选择器
CSS 分组 和 嵌套 选择器 分组选择器 在样式表中有很多具有相同样式的元素.直线模组哪家好 h1 { color:green; } h2 { color:green; } p { ...
- CSS:CSS 分组 和 嵌套 选择器
ylbtech-CSS:CSS 分组 和 嵌套 选择器 1.返回顶部 1. CSS 分组 和 嵌套 选择器 Grouping Selectors 在样式表中有很多具有相同样式的元素. h1 { col ...
- 2、前端--初见前后端交互、CSS简介、基本选择器、组合选择器、属性选择器、分组与嵌套、伪类选择器
今日内容概要 初窥后端框架 css简介 css选择器 今日内容详细 初次体验前后端交互 # 代码无需掌握 只看效果即可 """后端框架:可以简单的理解为别人写好的一个非常 ...
- 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器
目录 前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2.link标签引入外部css文件 3.3.标签内直接书写 4.c ...
- CSS 分组 和 嵌套 选择器
Grouping Selectors 在样式表中有很多具有相同样式的元素. h1{color:green;}h2{color:green;}p{color:green;} 为了尽量减少代码,你可以使用 ...
- Oracle之分组函数嵌套以及表连接
--1 数据环境准备 scott 用户下面的emp,dept表 --2 要求 :求平均工资最高的部门编号,部门名称,部门平均工资 select d.deptno,d.dname,e.salfrom(s ...
随机推荐
- java 中使用ajax调用后台方法注意事项
java 中使用ajax调用后台方法注意事项,后台方法一定要加@ResponseBody jQuery.validator.addMethod("checkRuleName",fu ...
- Quick-Cocos2d-x文件结构分析
在上一章我们讲过了Quick-Cocos2d-x中的环境搭建,这章我们分析下quick中的文件结构吧!打开quick的文件夹,可以看到如下的这些目录和文件: bin:存放各种与引擎相关的脚本 comp ...
- Python: 字典dict: zip()
problem: 怎样在数据字典中执行一些计算操作(比如求最小值.最大值.排序等等)? answer: eg1: 考虑下面的股票名和价格映射字典: prices = {'ACME': 45.23,'A ...
- MQ的使用场景
一.消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构.目前使用较多的消息队列有ActiveMQ,RabbitM ...
- java 的Colections类(Java也有python类似列表的反转、排序等方法)
1.Collections类概述 针对集合操作 的工具类,都是静态方法 2.Collections成员方法 public static <T> void ...
- JAVA基础3---JVM内存模型
Java虚拟机执行Java程序的时候需要使用一定的内存,根据不同的使用场景划分不同的内存区域.有公用的区域随着Java程序的启动而创建:有线程私有的区域依赖线程的启动而创建 JVM内存模型大致可以分为 ...
- Linux基础命令---修改用户密码
passwd 更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码.这个任务是通过调用LinuxPAM和LibuserAPI来完成的.本质上,它使用LinuxPAM将自己初始化为一个 ...
- PHP框架CI CodeIgniter 的log_message开启日志记录方法
PHP框架CI CodeIgniter 的log_message开启日志记录方法 第一步:index.php文件,修改环境为开发环境define(‘ENVIRONMENT’, ‘development ...
- webview相关知识
标签类 1.Web App 建议用的样式 用于覆盖 WebView 默认的样式,使得 App 看起来更像原生的 App,——“不露出马脚” /* document.documentElement.st ...
- springboot 接收post和get请求
接收post请求: @RequestMapping(value = "/api/v1/create_info", method = RequestMethod.POST) publ ...