搜索
首页数据库mysql教程where group by联合使用_MySQL

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
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Laravel 集合中的 Where 方法实用指南Laravel 集合中的 Where 方法实用指南Mar 10, 2024 pm 04:36 PM

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

Laravel 集合中如何使用 Where 方法Laravel 集合中如何使用 Where 方法Mar 10, 2024 pm 10:21 PM

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

从入门到精通:掌握is与where选择器的使用技巧从入门到精通:掌握is与where选择器的使用技巧Sep 08, 2023 am 09:15 AM

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

mysql left join的基本用法及on与where的区别是什么mysql left join的基本用法及on与where的区别是什么Jun 02, 2023 pm 11:54 PM

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

Laravel 集合中的 Where 方法用法解析Laravel 集合中的 Where 方法用法解析Mar 09, 2024 pm 06:51 PM

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

Laravel 集合的 Where 方法详解Laravel 集合的 Where 方法详解Mar 10, 2024 pm 01:33 PM

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

SQL中如何使用WHERE子句规定选择的标准SQL中如何使用WHERE子句规定选择的标准Jun 03, 2023 pm 04:31 PM

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

Laravel中where方法的常见错误及解决方法Laravel中where方法的常见错误及解决方法Mar 10, 2024 pm 06:03 PM

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

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

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

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

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

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 英文版

SublimeText3 英文版

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

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境