bitsCN.com
where group by联合使用
select 列a,聚合函数 from 表名 where 过滤条件 group by 列a having 过滤条件
group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。即先对select xx from xx的记录集合用where进行筛选,然后再使用group by 对筛选后的结果进行分组 使用having字句对分组后的结果进行筛选
需要注意having和where的用法区别:
1.having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。
2.where肯定在group by 之前
3.where后的条件表达式里不允许使用聚合函数,而having可以。
四、当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序是:
1.执行where xx对全表数据做筛选,返回第1个结果集。
2.针对第1个结果集使用group by分组,返回第2个结果集。
3.针对第2个结果集中的每1组数据执行select xx,有几组就执行几次,返回第3个结果集。
4.针对第3个结集执行having xx进行筛选,返回第4个结果集。
5.针对第4个结果集排序。
例子:
完成一个复杂的查询语句,需求如下:
按由高到低的顺序显示个人平均分在70分以上的学生姓名和平均分,为了尽可能地提高平均分,在计算平均分前不包括分数在60分以下的成绩,并且也不计算贱人(jr)的成绩。
分析:
1.要求显示学生姓名和平均分
因此确定第1步
select s_name,avg(score) from student
2.计算平均分前不包括分数在60分以下的成绩,并且也不计算贱人(jr)的成绩
因此确定第2步
where score>=60 and s_name !=’jr’
3.显示个人平均分
相同名字的学生(同一个学生)考了多门科目 因此按姓名分组
确定第3步
group by s_name
4.显示个人平均分在70分以上
因此确定第4步
having avg(s_score)>=70
5.按由高到低的顺序
因此确定第5步
order by avg(s_score) desc
前面也记录一篇
http://www.bitsCN.com/database/201212/179348.html
五、索引
1.索引是单独的数据库对象,索引也需要被维护。
2.索引可以提高查询速度,但会降增删改的速度。
3.通过一定的查询触发,并不是越多越好。
什么时候不适合用索引?
1.当增删改的操作大于查询的操作时。
2.查询的语句大于所有语句的三分之一时。
创建索引语法:create index 索引名 on 表明 (列名) 删除索引语法:drop index 索引名
bitsCN.com

Laravel集合中的Where方法实用指南在Laravel框架的开发过程中,集合(Collection)是一个非常有用的数据结构,它提供了丰富的方法来操作数据。其中,Where方法是一个常用的筛选方法,能够根据指定条件来过滤集合中的元素。本文将介绍Laravel集合中Where方法的使用,通过具体的代码示例来演示其用法。1.基本用法Where方法的

Laravel集合中如何使用Where方法Laravel是一个流行的PHP框架,它提供了丰富的功能和工具,方便开发者快速构建应用程序。其中,集合(Collection)是Laravel中一个非常实用和强大的数据结构,开发者可以使用集合对数据进行各种操作,如过滤、映射、排序等。在集合中,Where方法是一个常用的方法,用于根据指定的条件过滤集

从入门到精通:掌握is与where选择器的使用技巧引言:在进行数据处理和分析的过程中,选择器(selector)是一项非常重要的工具。通过选择器,我们可以按照特定的条件从数据集中提取所需的数据。本文将介绍is和where选择器的使用技巧,帮助读者快速掌握这两个选择器的强大功能。一、is选择器的使用is选择器是一种基本的选择器,它允许我们根据给定条件对数据集进

前言我们在写sql语句的时候,总是无法避免使用到连接关键词,比如内连接、外连接。种类是很多的,我在这里贴上一张在别处找到的图:这张图我认为是非常详细了,它展示出了SQL语句中常见的链接类型,以本文中的leftjoin为例,网上是这么给定义的:LEFTJOIN关键字会从左表那里返回所有的行,即使在右表中没有匹配的行。其实光从字面意思上来说的话,leftjoin是比较好理解的,但是在使用的过程中,还是会有一些问题的,比如条件在on后面与在where后面,他们的结果是完全不一样的,接下来我们就从浅到深

Laravel是一款流行的PHP开发框架,它提供了丰富且便捷的功能,其中集合(Collection)是Laravel中非常重要的数据结构之一。集合类提供了许多强大的方法,其中一个常用的方法是where方法。本文将通过具体的代码示例来解析Laravel集合中的where方法用法。1.创建集合首先,我们需要创建一个包含一些数据的集合。可以

Laravel是一款流行的PHP框架,其集合(Collections)类提供了强大的数据处理功能。其中,Where方法是集合类中常用的方法之一,用于筛选符合条件的数据。本文将详细介绍Laravel集合的Where方法,包括使用方法、参数含义以及具体的代码示例。一、Where方法概述Where方法用于筛选集合中符合指定条件的元素,并返回一个

SQLWHERE子句WHERE子句用于规定选择的标准。如需有条件地从表中选取数据,可将WHERE子句添加到SELECT语句。语法如下:SELECT列名称FROM表名称WHERE列运算符值下面的运算符可在WHERE子句中使用:=:等于:不等于>:大于=:大于等于1965

Laravel中where方法的常见错误及解决方法在使用Laravel框架进行开发的过程中,我们经常会使用到EloquentORM来操作数据库。其中,where方法是一个非常常用的方法,用于筛选数据库中的数据。然而,由于对Laravel框架不够熟悉或者对EloquentORM理解不深,很容易在使用where方法时出现一些常见的错误。本文将介绍几种常见的w


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

禅工作室 13.0.1
功能强大的PHP集成开发环境