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( ...
随机推荐
- java IO的概述和File方法
IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 File类在整个IO包中与文件本身有关的操作类,所有的与文件本身 ...
- linux strace 命令
有时小问题可以通过观察用户空间的应用程序的行为来追踪. 监视程序也有助于建立对驱 动正确工作的信心. 例如, 我们能够对 scull 感到有信心, 在看了它的读实现如何响应 不同数量数据的读请求之后. ...
- Node.js Windows Binary二进制文件安装
1.下载文件 安装包的下载路径为:https://nodejs.org/en/download/ 选择你需要的版本,这里我选择了 Windows Binary 64-bit 版本. 2.配置npm安装 ...
- 2019-4-29-C#-从-short-转-byte-方法
title author date CreateTime categories C# 从 short 转 byte 方法 lindexi 2019-4-29 12:8:39 +0800 2019-01 ...
- Vue组件中的父子传值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 字符串和While循环
字符串是以单引号或双引号括起来的任意文本 创建字符串 str1 = "shaoge is a good man!" 字符串运算 字符串连接 str6 = "shaoge ...
- React Mobile 搭建记录
__dirname 总是指向被执行 js 文件的绝对路径,./ 会返回你执行 node 命令的路径,例如你的工作路径. path.join()方法可以连接任意多个路径字符串.要连接的多个路径可做为参数 ...
- 如何更优雅地对接第三方API
本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程 ...
- redis的事务操作
事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的命令请求所打断. 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行. 一 ...
- Struts2 注释类型
Struts 2 应用程序可以使用Java5注释作为替代XML和Java属性配置.这里是清单的不同的类别有关的最重要的注解: 命名空间注释(动作注释): @ Namespace注释允许在Action类 ...