MySQL查询基础
MySQL查询 DQL(Data Query Language )
1.排序查询
# 语法:
select 字段 from 表名 order by 字段1 [降序/升序],字段2 [降序/升序],....;
# 排序方式:DESC 降序 ,ASC 升序。不加排序方式的时候,默认使用ACS!!
order by 后面的字段是排序的条件,只有第一个条件的值相同时,才会使用后面的值进行比较排序
2.聚合函数 :对数据表中的一整个字段数据进行纵向计算操作。
①count :计算总个数
②sum:计算总合
③avg: 计算平均值
④max:计算最大值
⑤min:计算最小值
# 语法:
select 聚合函数(字段) from 表名;
# 例如:
select count(id) from mytable; -- 利用主键计算总个数
select sum(mathScore) from mytable; -- 求出数学成绩总和
select max(age) from mytable; -- 找出年龄最大的员工,让HR和他谈谈.....
select min(KPI) from mytable; -- 找出KPI最低的员工,让HR和他谈谈.....
注意:聚合函数计算的时候,默认是会排除NULL值而使得某些结果不对,例如count函数求取总的age数,但是可能因为某个人的年龄没有设置而导致计算出的总人数比实际的人数更少,解决方法:
# 1.使用主键进行计算
select count(id) from mytable;
# 2.使用ifnull函数把null值设置一个默认值并进行计算
select count(ifnull(age,0)) from mytable;-- 如果age中有null值,则把它设置为0,并参与总合的计算,这样算出来的总合数就不会少。
3.分组查询
# 分组查询,以某个字段为分组依据,后面的聚合函数可以有多个
select 字段1, count(字段2), sum(字段n).... from mytable group by 字段1;
# 分组查询,附加查询条件
select 字段1, count(字段2), sum(字段n).... from mytable [where 条件] group by 字段1;
4.分页查询
select 字段 from 表名 limit 开始分页的位置,当前页展示的数量;
# 例如:从第三条数据开始展示,总共展示6条数据
select id,name,age from mytable limit 3,6;
MySQL查询基础的更多相关文章
- mysql基础之-mysql查询缓存(九)
0x01 MySQL查询缓存 用于保存MySQL查询语句返回的完整结果,被命中时,MySQL会立即返回结果,省去解析.优化和执行等操作 如何检查缓存?? MySQL保存结果与缓存中: 把select语 ...
- Solr与MySQL查询性能对比
本文简单对比下Solr与MySQL的查询性能速度. 测试数据量:10407608 Num Docs: 10407608 这里对MySQL的查询时间都包含了从MySQL Server获取数据的时 ...
- Mysql 查询练习
Mysql 查询练习 ---创建班级表 create table class( cid int auto_increment primary key, caption ) )engine=innodb ...
- mysql使用基础 sql语句(一)
csdn博文地址:mysql使用基础 sql语句(一) 点击进入 命令行输入mysql -u root -p,回车再输入密码,进入mysql. 终端命令以分号作为一条语句的结束,可分为多行输入,只需 ...
- mysql数据库基础的简单操作指南
最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ...
- Mysql 查询性能优化
查询优化,索引优化,库表结构优化需要齐头并进,一个不能落. 为什么查询速度会慢 在阐释编写快速的查询之前,需要清楚一点,真正重要的是响应时间.如果把查询看做是一个任务的话,那么它由一系列子任务构成,每 ...
- Mysql索引基础
Mysql索引基础 基本概念: 索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录.索引是提高数据库性能的重要方式.索引创建在表上,是对数据库表中一列或多列的值进行排序的一种结构.可以提 ...
- MySQL数据库基础
MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...
- Mysql数据库基础学习笔记
Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...
随机推荐
- 配置gitignore后使其生效命令
改动过.gitignore文件之后,在repo的根目录下运行: git rm -r --cached . git add . 之后可以进行提交: git commit -m "fixed u ...
- P2P公司是如何进行风险管理的
关于P2P的风控很多人仍然是一知半解,甚至不少长期P2P圈内的资深玩家对此也是“既没吃过猪肉,也没见过猪跑”. 但是不可否认的是,作为一种跳过银行间接贷款融资模式的.一种在借款人和出借人之间直接发 ...
- linux清理函数
每个非试验性的模块也要求有一个清理函数, 它注销接口, 在模块被去除之前返回所有资 源给系统. 这个函数定义为: static void exit cleanup_function(void) { ...
- vue脚手架搭项目 git push超时github网站打不开
vue: 1.npm install vue-cli -g 全局安装脚手架 2.vue init webpack name 新建项目 name为项目名称 react: 1..npm install ...
- H3C查看CF卡内的文件
查看CF卡内的文件 <H3C>dir //查看文件及目录文件 Directory of cf:/ -------------查看的是CF卡的内容 0 ...
- Linux 内核同步 urb
不幸的是, 同步 urb 没有一个象中断, 控制, 和块 urb 的初始化函数. 因此它们必须在 驱动中"手动"初始化, 在它们可被提交给 USB 核心之前. 下面是一个如何正确初 ...
- 【21.00%】【vijos P1018】智破连环阵
描述 B国在耗资百亿元之后终于研究出了新式武器--连环阵(Zenith Protected Linked Hybrid Zone).传说中,连环阵是一种永不停滞的自发性智能武器.但经过A国间谍的侦察发 ...
- Flutter TextField设置默认值默认值和光标位置
主要通过controller 实现,具体代码如下 TextField( //输入键盘类型 keyboardType: TextInputType.text, autofocus: true, deco ...
- 基于bootstrap3.3.4的简单框架搭建(左侧导航收起滚动)
前提:博主本人做.net方向的2年多了 去年的后半年公司要做基于bootstrap框架的后台,由于没有经验,然后跟公司美工一块从0开始折腾,对这个框架不是太熟悉,然后就开始各种自己写js写css的往里 ...
- eclipse中部署web项目时报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener的解决方法
解决方案: 1.右键点击项目--选择Properties,选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries 2.点击N ...