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( ...
随机推荐
- UVA 1025 "A Spy in the Metro " (DAG上的动态规划?? or 背包问题??)
传送门 参考资料: [1]:算法竞赛入门经典:第九章 DAG上的动态规划 题意: Algorithm城市的地铁有 n 个站台,编号为 1~n,共有 M1+M2 辆列车驶过: 其中 M1 辆列车从 1 ...
- linux 读者/写者自旋锁
内核提供了一个自旋锁的读者/写者形式, 直接模仿我们在本章前面见到的读者/写者旗标. 这些锁允许任何数目的读者同时进入临界区, 但是写者必须是排他的存取. 读者写者锁有 一个类型 rwlock_t, ...
- openmp的g++并行执行
#include <omp.h>#include <stdio.h>#include <stdlib.h>void Test(int n) { for(int ...
- 802.1X的体系结构
- C++ 驱动开发 error LNK2019
最近在写一个机器人的时候,发现驱动无法编译通过.本文告诉大家如何解决这个问题. 在 VisualStudio 2017 15.8 的版本提供新的功能C++ Just My Code Stepping ...
- dotnet 线程静态字段
在 dotnet 程序提供了一个好用的特性,可以让字段作为线程的静态字段,也就是在相同线程的所有代码访问的静态字段是相同对象,但不同线程访问的时候是不同的 在 .NET 程序可以使用 ThreadSt ...
- gulp插件使用
//引入gulp组件 var gulp=require('gulp'); //创建任务 gulp.task('hello',function(){ console.log('hello'); }); ...
- Hibernate各种查询方式及查询策略(转)
转自:https://www.cnblogs.com/xujingyang/p/6734203.html 在了解Hibernate的基本知识后,重点让我们看下相关查询方式和查询优化策略吧! 话不多说, ...
- .NET 半天搭建Jenkins持续集成与自动化部署系统
前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由 ...
- vs2015编译zlib静态库步骤
ZLIB静态库的编译 下载ZLIB源码 ZLib官网下载或者GitHub上直接 clone 下来即可 www.zlib.net 截至目前最新版本1.2.1.1本 如下图我选择从官网下载 下载完以后解压 ...