首頁 資料庫 mysql教程 where group by联合使用_MySQL

where group by联合使用_MySQL

Jun 01, 2016 pm 01:31 PM
where

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

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 06:03 PM

Laravel中where方法的常見錯誤及解決方法在使用Laravel框架進行開發的過程中,我們經常使用到EloquentORM來操作資料庫。其中,where方法是一個非常常用的方法,用來篩選資料庫中的資料。然而,由於對Laravel框架不夠熟悉或對EloquentORM理解不深,很容易在使用where方法時出現一些常見的錯誤。本文將介紹幾種常見的w

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

See all articles