一:常用函数
COUNT, SUM, AVG, MAX, MIN,REPLACE, SUBSTR
二:SQL中的子句
ORDER BY 排序
GROUP BY 分组
HVING
三:聚合函数和GROUP BY子句
GROUP BY子句可以将查询结果按属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组合上具有相同的聚合值。如果聚合函数没有使用 GROUP BY 子句,则只为 SELECT 语句报告一个聚合值。
常用的聚合函数:
MIN:求一列中的最小值
MAX:求一列中的最大值
SUM:按列计算值的总和
AVG:按列计算平均值
COUNT :按列值计个数
COUNT(*):返回表中的所用行数
use test
create table student(
id int identity primary key,
stdName nvarchar(10),
age int,
address nvarchar(20),
class nvarchar(10),
speciality nvarchar(10),
mark numeric(4,1),
)
insert into student select '张三',20,'咸宁','200801','软件开发',75
insert into student select '李四',18,'武汉','200801','网络',95
insert into student select '王五',22,'宜昌','200801','软件开发',55
insert into student select '赵六',23,'宜昌','200801','网络',90
insert into student select '小明',18,'孝感','200801','软件开发',90
insert into student select '小王',19,'钟祥','200801','网络',100
insert into student select '小红',21,'武汉','200801','软件开发',99
insert into student select '小黄',20,'宜昌','200801','网络',87
--平均分
select sum(mark)/count(*) from student
select avg(mark) from student
--1.查询班上有多少位同学
select count(*) '总数' from student
select count(*) '总数' from student where address='武汉'
--2.请求出班上所有同学的JAVA成绩的总分
select sum(mark) '总成绩' from student
select sum(mark) '总成绩' from student where address='武汉'
--3.请求出班上JAVA成绩的平均分
select avg(mark) '平均分' from student
select avg(mark) '平均分' from student where address='宜昌'
--4.请求出JAVA成绩最高分
select max(mark) '最高分' from student
select max(mark) '最高分' from student where address='宜昌'
--5.请求出JAVA成绩最低分
select min(mark) '最低分' from student
select MIN(mark) '最低分' from student where address='武汉'
--order by 排序
select * from student order by mark asc -- 升序,默认
select * from student order by mark desc --降序
--带where条件的排序
select * from student where addredd='宜昌' order by mark desc
--两个条件,先满足第一个条件,其次再满足第二个条件
select * from student where age<20 order by mark desc
--group by分组汇总函数,就是把某一列中,相同的字段进行分组汇总,
--group by不能单独使用,必须与其他汇总函数一起使用.如MIN,MAX,SUM,AVG,COUNT,COUNT(*)
select speciality as '专业', count(*) as '人员总数' FROM student group by speciality
select address,count(address) from student group by address
select address,count(address) as '地址总数' from student where age<20 group by address having count(address)>=2
select address,count(address) as addressCount from student where age<20 group by address order by addressCount desc
--distinct删除重复项
select count(distinct speciality) as speciality from student
--having 分类汇总后的条件
select address,count(address) as COUNTSSTU from student where age<20 group by address having count(address)>=2
四:SQLSERVER中日期类型的使用 datetime
create table datetimetable(
id int identity primary key,
ctime datetime
)
--日期类型的插入方式
--1.使用字符串的形式插入,常用格式两种2010-03-02,2010/03/02
insert into datetimetable values('2010-03-02')
insert into datetimetable values('2010/03/02')
insert into datetimetable values('2010-03-02 21:25:50')
insert into datetimetable values('2010/03/02 21:25:50')
--2.使用内置函数的形式插入
insert into datetimetable select getdate()
--日期字段使用要注意的地方
--1.插入值的时候,格式无所谓,在数据库中保存的格式永远都是2009-03-02 00:00:00.000
--yyyy-MM-dd HH:mm:ss:SSS,我们要做的事情就是处理取出时间的格式
--取出日期的处理方式,需要借助于日期格式处理函数
--CONVERT(返回类型,要格式的日期,格式参数)
--字符串工具replace,substring,len的使用
--replace的使用,请将日期格式改成yyyyMMddHHmmss 20090302142636
--replace(内容,要转的字符,转换成什么内容)
select replace(replace(replace(replace(convert(varchar(30),ctime,21),'-',''),' ',''),':',''),'.','') from datetimetable
--substring,字符串的截取
--substring(内容,开始下标,要截取的长度),下标从1开始,
select substring(replace(replace(replace(replace(convert(varchar(30),ctime,21),'-',''),' ',''),':',''),'.',''),1,4) from datetimetable
--LEN(内容):返回字符串的长度
select len(replace(replace(replace(replace(convert(varchar(30),ctime,21),'-',''),' ',''),':',''),'.','')) from datetimetable
select substring('420104197911260016',7,4)
分享到:
相关推荐
SQL 函数大全 SQL 函数是 SQL 语言中最基本也是最重要的一部分,它们可以帮助我们实现各种复杂的数据处理和分析任务。本文总结了一些常用的 SQL 函数,包括字符串处理函数、数学函数、日期函数和系统函数等。 一、...
本文将对 Oracle SQL 函数大全进行分类和讲解,涵盖字符串函数、字符转换函数、去空格函数、取子串函数、字符串比较函数、字符串操作函数等多种函数。 一、字符转换函数 字符转换函数是将字符或字符串从一种形式...
在SQL数据库第五章的作业中,你可能会被要求运用上述概念来解决问题,如创建查询、设计合理的数据库结构、优化查询性能等。理解并熟练掌握这些知识点将有助于你在数据库管理领域取得成功。通过实际操作和练习,你...
### SQL函数详解——基于Oracle数据库 #### 一、概述 SQL函数是数据库系统为了方便用户进行数据处理而提供的一系列内置函数。Oracle数据库作为业界领先的数据库管理系统之一,提供了丰富的SQL函数来支持各种复杂的...
在“第三章SQL和Oracle SQL函数”中,我们深入探讨了SQL的使用和Oracle数据库特定的函数。 首先,SQL是结构化查询语言的缩写,它允许我们执行各种任务,如创建和修改数据库结构(DDL - Data Definition Language)...
根据提供的文件信息,本文将详细介绍PL/SQL中的一些常用函数及其用法,这些函数对于日常开发工作非常有帮助。 ### 1. ASCII 函数 ASCII 函数用于返回一个字符的 ASCII 值。例如: ``` SQL> SELECT ASCII('A') A, ...
本文将详细介绍SQL Server中的一些重要函数,特别是字符串处理相关的函数,帮助读者更好地理解和运用这些功能强大的工具。 #### 字符串函数 ##### ASCII() **ASCII()** 函数的功能是返回指定字符表达式的最左侧...
SQL,全称为Structured Query Language,是一种专门用于管理和处理关系数据库的...理解并熟练运用这些SQL语句和数据类型是有效管理和操作Oracle数据库的基础。通过学习和实践,你可以更高效地存储、检索和管理数据。
### Oracle_PL(SQL)单行函数和组函数及使用 #### 一、概述 在Oracle数据库中,SQL 和 PL/SQL 提供了大量的内置函数,这些函数可以极大地提高开发效率和简化查询逻辑。根据处理数据的不同方式,这些函数可以分为...
以下是一些在SQL Server中创建和使用自定义函数的例子: 1. 计算当前月实际天数的函数(dbo.CalcDaysOfMonth): 这个函数接收一个格式为“YYYYMM”的日期字符串,通过判断月份和年份来确定该月有多少天。它考虑了...
对于Android开发,理解并熟练使用SQL函数是至关重要的,因为许多应用程序都需要与数据库进行交互。以下是一些基本的SQL函数及其详细解释,这些内容通常会包含在“SQL函数大全”中: 1. **聚合函数**: - `COUNT(*)...
9. **游标函数**:虽然不推荐频繁使用,但SQL Server提供了一套游标函数,允许逐行处理结果集。 10. **自定义函数**:除了内置函数,用户还可以创建自己的函数,分为存储过程(Stored Procedures)和用户自定义函数...
5. **第08章**:可能涉及聚合函数,如SUM(求和)、AVG(平均值)、MAX(最大值)、MIN(最小值)以及COUNT(计数),这些在统计分析和报表生成时经常使用。 6. **第09章**:可能涵盖系统信息函数,比如@@ROWCOUNT...
通过深入理解和熟练运用这些函数,你可以更高效地进行SQL Server中的数据查询、分析和管理。不论是初学者还是经验丰富的开发者,对SQL Server函数的掌握都是提升工作效率的关键。在实际工作中,结合具体场景灵活应用...
PL/SQL 常用函数 PL/SQL 中的函数可以分为两大类:单行函数和组函数。单行函数用于处理单行数据,可以在 SELECT、WHERE、ORDER BY 等子句中使用。...这些函数可以在 PL/SQL 语句中使用,以便更方便地处理数据。
### SQL Server 函数大全 ...以上介绍的函数只是SQL Server 2008中的一部分功能,通过灵活运用这些函数,可以极大地提高SQL查询的能力和效率。希望本文对您理解和使用SQL Server 2008中的函数有所帮助。
在IT行业的数据库管理与开发领域,Transact-SQL(T-SQL)是SQL Server的核心语言,广泛用于数据的检索、...在SQL Server的开发和维护工作中,熟练运用T-SQL函数是必备技能之一,能够显著提高数据库操作的准确性和性能。
### SQL时间函数详解 在开发数据库应用程序的过程中,处理时间数据是一项基本且重要的任务。SQL提供了丰富的内置函数来帮助开发者高效地处理与日期和时间相关的数据。本文将详细讲解SQL中的常用时间函数,并通过...