search
HomeDatabaseMysql Tutorial我们分组玩的游戏 还记得吗_MySQL

use Myschool

 

--------------------上机练习1-------------------

 

--查询每个年级的总学时数,并按照升序排列

select  gradeid as 年级,sum(Classhour) 

from subject

group by gradeid

order by SUM(Classhour)

 

--查询每个参加考试的学员的平均分

select studentno as 学号,AVG(studentresult)

from result

group by studentno

 

select * from subject

--查询每门课程的平均分,并按照将序排列

select subjectid as 课程,AVG(studentresult) 

from result

group by subjectid

order by AVG(studentresult) desc

 

--查询每个学生参加的所有考试的总分,并按照降序排列

select studentno as 学号,SUM(studentresult) 

from result

group by studentno

order by SUM(studentresult) desc

 

 

 

---------上机练习2------------------

--查询每学期学时超过50的课程数

use myschool

select gradeid as 年级,COUNT(subjectid) as 课程数 

from subject

where classhour>50

group by gradeid

 

--查询课程表的所有信息

select * from subject

 

--查询每学期学生的平均年龄

select * from student

select gradeid as 年级,AVG(DATEDIFF(yy,birthday,getdate()))as 平均年龄 

from student

group by gradeid

 

--查询北京地区的每学期学生人数

select gradeid as 年级,COUNT(1) as 人数 

from student

where address  like('%北京%')

group by gradeid

 

--查询参加考试的学生中,平均分及格的学生记录,并按照成绩降序排列

select studentno,AVG(StudentResult) as 平均分

from Result

group by StudentNo

having AVG(StudentResult)>=60

order by 平均分 desc

 

--查询成绩表中的所有信息

select * from result

 

--查询开始日期为2014年2月22日的课程的及格平均分

select subjectid,AVG(studentresult) as 平均分

from Result

where ExamDate>='2014-2-22' and  ExamDate

group by SubjectId

having AVG(StudentResult)>=60

 

--统计至少有一次不及格的学生学号和次数。

select studentno,COUNT(1) as  次数

from Result

where StudentResult

group by StudentNo

 

 

 注意:  (1)where之后不能跟聚合函数

 

(2) having是对分组后的数据进行第二次筛选或者过滤,也就是说没有group by就没having

 

(3)如果语句中有group by关键字,那么select后只能跟group by后出现的列,或者是聚合函数

 

 

 

SQL语句的书写顺序:          执行顺序:

 

     select 列名或聚合函数   (4)投影结果

 

     from 表名        (1)定位到表

 

     where 条件      (2)分组前的第一道过滤

 

     group by 列名  (3)分组

 

     having 聚合函数或者分组后的列名(5)分组后的第二道过滤

 

     order by(6)最后排序

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
MySQL String Types: Storage, Performance, and Best PracticesMySQL String Types: Storage, Performance, and Best PracticesMay 10, 2025 am 12:02 AM

MySQLstringtypesimpactstorageandperformanceasfollows:1)CHARisfixed-length,alwaysusingthesamestoragespace,whichcanbefasterbutlessspace-efficient.2)VARCHARisvariable-length,morespace-efficientbutpotentiallyslower.3)TEXTisforlargetext,storedoutsiderows,

Understanding MySQL String Types: VARCHAR, TEXT, CHAR, and MoreUnderstanding MySQL String Types: VARCHAR, TEXT, CHAR, and MoreMay 10, 2025 am 12:02 AM

MySQLstringtypesincludeVARCHAR,TEXT,CHAR,ENUM,andSET.1)VARCHARisversatileforvariable-lengthstringsuptoaspecifiedlimit.2)TEXTisidealforlargetextstoragewithoutadefinedlength.3)CHARisfixed-length,suitableforconsistentdatalikecodes.4)ENUMenforcesdatainte

What are the String Data Types in MySQL?What are the String Data Types in MySQL?May 10, 2025 am 12:01 AM

MySQLoffersvariousstringdatatypes:1)CHARforfixed-lengthstrings,2)VARCHARforvariable-lengthtext,3)BINARYandVARBINARYforbinarydata,4)BLOBandTEXTforlargedata,and5)ENUMandSETforcontrolledinput.Eachtypehasspecificusesandperformancecharacteristics,sochoose

How to Grant Permissions to New MySQL UsersHow to Grant Permissions to New MySQL UsersMay 09, 2025 am 12:16 AM

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

How to Add Users in MySQL: A Step-by-Step GuideHow to Add Users in MySQL: A Step-by-Step GuideMay 09, 2025 am 12:14 AM

ToaddusersinMySQLeffectivelyandsecurely,followthesesteps:1)UsetheCREATEUSERstatementtoaddanewuser,specifyingthehostandastrongpassword.2)GrantnecessaryprivilegesusingtheGRANTstatement,adheringtotheprincipleofleastprivilege.3)Implementsecuritymeasuresl

MySQL: Adding a new user with complex permissionsMySQL: Adding a new user with complex permissionsMay 09, 2025 am 12:09 AM

ToaddanewuserwithcomplexpermissionsinMySQL,followthesesteps:1)CreatetheuserwithCREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';.2)Grantreadaccesstoalltablesin'mydatabase'withGRANTSELECTONmydatabase.TO'newuser'@'localhost';.3)Grantwriteaccessto'

MySQL: String Data Types and CollationsMySQL: String Data Types and CollationsMay 09, 2025 am 12:08 AM

The string data types in MySQL include CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and TEXT. The collations determine the comparison and sorting of strings. 1.CHAR is suitable for fixed-length strings, VARCHAR is suitable for variable-length strings. 2.BINARY and VARBINARY are used for binary data, and BLOB and TEXT are used for large object data. 3. Sorting rules such as utf8mb4_unicode_ci ignores upper and lower case and is suitable for user names; utf8mb4_bin is case sensitive and is suitable for fields that require precise comparison.

MySQL: What length should I use for VARCHARs?MySQL: What length should I use for VARCHARs?May 09, 2025 am 12:06 AM

The best MySQLVARCHAR column length selection should be based on data analysis, consider future growth, evaluate performance impacts, and character set requirements. 1) Analyze the data to determine typical lengths; 2) Reserve future expansion space; 3) Pay attention to the impact of large lengths on performance; 4) Consider the impact of character sets on storage. Through these steps, the efficiency and scalability of the database can be optimized.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment