当前位置: 首页 > wzjs >正文

上海市建设质量协会网站今日广东头条新闻

上海市建设质量协会网站,今日广东头条新闻,哈尔滨企业网站建设公司,企业网站源码英文目录 MYSQL -DQL 基础查询 分组函数 函数 条件查询 实例 合并 实例 排序 数量限制 分组查询 语法: 案例: 实例 MYSQL -DQL 基础查询 分组函数 功能:用作统计使用,又称为聚合函数或统计 函数 sum(列) 求和 返回给定列值的合…

目录

MYSQL -DQL

基础查询

分组函数

函数

 条件查询

实例

合并

实例

排序

数量限制

分组查询

语法:

案例:

实例


MYSQL -DQL


基础查询


分组函数

功能:用作统计使用,又称为聚合函数或统计

函数
  • sum(列)   求和 返回给定列值的合计
  • avg(列)    平均值 返回给定列的平均值
  • max(列)   最大值 返回该列中的最大值
  • min(列)    最小值 返回该列中的最小值
  • count(列)  计数 统计此列中的个数,如过列值为null,则不统计 一般使用*或主键 注意: 单独使用分组函数时没有问题
  • SELECT MAX(height) FROM student 如果使用分组函数的同时,还需要查询其他列名,则会报错,需要结合group by语句
-- 分组函数:多行查询完之后,变为一行结果
-- 分组函数一般和group by语句组合使用 分组统计
-- sum() avg() max() min() count()
-- sum 只能对数值类型求和
select sum(height) from basketballplayer  
-- avg 求平均值
select avg(height) from basketballplayer  
-- max 返回该列中最大值  min() 返回该列最小值
select max(height),min(height) from basketballplayer 
-- count 统计该列总数  值如果为空null,不计算 
selecct count(birthday) from basketballplayer   
-- 如果统计所有列的数据,一边用主键列,*
select count (*) from basketballplayer      
select count (id) from basketballplayer -- 查询出学生中身高最高的人的信息
select id,name from basketballplayer where height = (select max(height) from basketballplayer)
-- 查询身高大于平均值的人的信息 
select id,name from basketballplayer  where height > (select avg(height)from basketballplayer )          
select id,name from basketballplayer  where height < (select avg(height)from basketballplayer )            


 条件查询

-- select 查询结果 from 表 where 条件 (排序,数量限制,分组   分组后条件筛选)
  • and  并且
select * from  basketballplayer where position = '中锋' and height >= 190
  • or 或
select * from  basketballplayer where position = '中锋' or height >= 190
  • between 在两个值之间,包含边界值
select * from  basketballplayer where position = '中锋' and height between 190 and 222
  • 模糊查询 LIKE:是否匹配于一个模式 一般和通配符搭配使用,可以判断字符型数值或数值型.
  • 通配符: 匹配% 任意多个字符
  • in 判断某字段的值是否属于in列表中的某一项
  • not in判断某字段的值是否不属于in列表中的某一项
  • IS NULL(为空的) IS NOT NULL(不为空的)
实例
-- 模糊查询 1ike'张%'以张开头,向右匹配任意位字符
select * from  basketballplayer where name like'沙%' 
select *from  basketballplayer where name like'%丹%'-- in 在给定的数据集中的
select * from basketballplayer where id in(1,3,5,6,8,9,12)
-- not in 不在给定的数据集中
select * from basketballplayer where id not in(1,3,5,6,8,9,12)-- is null 为空的
select * from basketballplayer where name is null
-- is not null 不为空的
select * from basketballplayer where name is not null

合并


UNION 的语法如下:

   [SQL 语句 1]  UNION  [SQL 语句 2]

UNION ALL 的语法如下:

   [SQL 语句 1] UNION ALL [SQL 语句 2]

注:当使用union 时,mysql 会把结果集中重复的记录删掉,而使用union all , mysql 会把所有的记录返回,且效率高于union 。


实例
- 合并时多条sql列尽量保持一致
-- union 合并多个查询的结果 ,合并时可以除掉多条语句查询出的重复数据
select id,name,position from basketballplayer  where position = '中锋'
union 
select id,name,position from basketballplayer  where position = '后卫'
-- union all 合并时 不能除去重复数据
select id,name,position from basketballplayer  
union all
select id,name,position from basketballplayer  where position = '后卫'
union all
select id,name,position from basketballplayer  where position = '中锋'

排序

  • 查询结果排序,使用 order by 子句排序
  • order by 排序列  ASC/DESC    asc代表的是升序,desc代表的是降序、
  • 如果不写,默认是升序 order by子句中可以支持单个字段、多个字段
-- 排序 order by 列名 asc(升序)/desc(降序
select * from basketballplayer  where id>1 order by height ascselect * from basketballplayer  order by height desc   

数量限制

limit子句:对查询的显示结果限制数量 (sql语句最末尾位置)   

SELECT * FROM table LIMIT offset rows; SELECT * from table LIMIT 0,5;

limit
select * from basketballplayer where id>0 order by id asc limit 0,2 -- 第一页·
select * from basketballplayer where id>0 order by id asc limit 2,2 -- 第二页
select * from basketballplayer where id>0 order by id asc limit 4,2 -- 第三页
select * from basketballplayer where id>0 order by id asc limit 5,6
-- mysql分页公式     limit  (n-1)*每页大小,每页大小

分组查询

语法:
  • select 分组函数,列 from 表 group by 分组的列 [having 分组后的筛选条件]
案例:
  • 统计男女人数
  • 统计姓名重复的学生

实例
-- 分组查询
-- 统计出前锋 后卫 各有多少人
-- group by 分组的列
-- 用哪个列作为分组条件,会把该列中相同的数据分到一组处理
select position,count(*) from basketballplayer where id>1 group by position
-- 统计每个年龄出生的人数
select date_format(birthday,'%Y'),count(*) from basketballplayer group by date_format(birthday,'%Y')
-- 查找姓名重复的学生,只显示重复数据
-- where 是对原始表中的数据进行筛选
-- having 是对分组后的结果进行筛选
select name,count(*)as c from basketballplayer  group by name having c=1select * from(select name,count(*)as c from basketballplayer  group by name )as t where t.c>1
http://www.dtcms.com/wzjs/354938.html

相关文章:

  • 无锡网站建设选众鼎360搜索优化
  • wordpress 时间格式搜索引擎外部链接优化
  • 海外cdn如何优化关键词搜索排名
  • 响应式网站模板滚动条百度最新推广产品
  • 厦门 网站开发线上推广活动有哪些
  • 服饰网站模板大数据免费查询平台
  • 广告设计公司服务承诺seo排名优化
  • 郑州建设局网站cba目前排名
  • 做微电网的公司网站百度老旧版本大全
  • net网站同时支持 生成静态文件和伪静态头条广告入口
  • wordpress 本地化函数知名的搜索引擎优化
  • wordpress back end临沂seo网站管理
  • 网站搭建南京seo包年优化费用
  • 多网站怎么做seo免费检测网站seo
  • 做跨境网站惊艳的网站设计
  • 酒店网站建设方案结束语如何在百度上推广业务
  • 免费自己制作网站方法wordpress网站建设
  • 昌吉州建设局网站进入百度app查看
  • 手机网站制作教程html5+css3视频教程大全网络营销师主要做什么
  • 做网站维护有前途吗营销技巧培训
  • 镇江网站设计建设价格个人推广网站
  • 安吉网站建设以下属于网站seo的内容是
  • 熊撑号怎么做网站推广福州关键词快速排名
  • 网站开发平台及常用开发工具手机营销软件
  • 贵州网站开发流程搜索引擎搜索器
  • 怎么用大淘客做网站推广的公司
  • 网站建设 经济效益seo服务商
  • 服务器2003系统如何建设网站武威网站seo
  • 住房城乡建设部官方网站网站快速优化排名推荐
  • 人社部能力建设中心网站免费广告推广平台