mysql概要(四)order by ,limit ,group by和聚合函数的特点,子查询
1.order by 默认按升序排列(asc/desc),多字段排序 order by 字段 排序方式,字段2 排序方式,..;
在分组排序中,排序是对分组后的结果进行排序,而不是在组中进行排序。
select * from stu order by score desc,name asc;//优先score ,然后name排序
2.limit 在语句表示,截取记录的条数。一般和order by 配合使用(大数据下Limit使用)
limit[offset][N]
offset: 偏移量 N:条数; 如limit(2,2),即从第三记录开始取两条记录。当一个参数时:limit 2,即从第一条记录开始取2条
select * from ibmng limit ,
3.关于分组和聚合函数的一个问题,(补充)
使用聚合函数,分组时其他字段的值是从库中取组第一次出现时对应数据,聚合函数的得到值和其他字段的值并不是原来本该对应的一条记录。只是组合一起
如:以班级进行分组,获取成绩最好的学生,
select name ,max(score) from stu group by bianji;//错误,这样最大成绩对应的学生并不是原学生。
如果你想在学校学生表中获取班级成绩最好的学生信息,如果想使用简单分组是不行,上面已经说明,
方法一:先使用分组查询出班级和最大成绩的结果作为新表,再和原表进行联合查询出所对应的学生信息。(保证有多个相同成绩的存在情况)
方法二:如果是最好成绩只有一个话的特列,倒是可以先按班级和成绩排序结果集再进行分组(利用了分组获取第一次出现的规则)。类似获取商品中每类物品的最高价格的物品:

4子查询 where from exists

where 子查询:聚合函数可以直接用,(差点以为只能在group中使用了,但是一般不能和别的字段一起使用)

使用不同的子查询查出栏目下最新商品(只是id最大的那个为最新)
where

from

exists:查询出有商品的栏目:可以理解成外查询中每条记录,代入到内查询中,如果内查询有结果,就表示外查询的当前记录满足条件。

exists,有点类似in
mysql概要(四)order by ,limit ,group by和聚合函数的特点,子查询的更多相关文章
- 关于GROUP BY和聚合函数
可以这样去理解group by和聚合函数 转自 http://www.cnblogs.com/wiseblog/articles/4475936.html 写在前面的话:用了好久group by,今天 ...
- group by 和聚合函数
group by 的基本用法 group by做为分组来使用,后面为条件,可以有多个条件,条件相同的为一组,配合聚合函数进行相关统计.在不同数据库中用法稍有不同,这里只测试mysql和oracle. ...
- sql 学习之 group by 及 聚合函数
1.在使用 GROUP BY 子句时,Select列表中的所有列必须是聚合列(SUM,MIN/MAX,AVG等)或是GROUP BY 子句中包括的列.同样,如果在SELECT 列表中使用聚合列,SEL ...
- group by 和 聚合函数
1.在oracle中 select * from Table group by id 会报错. 会报不是group by 表达式.为什么一定不能是 * ,而必须是分组的列或者某个列的聚合函数. 在my ...
- group by 和 聚合函数的使用
有这样一个表数据: 学生姓名,学生手机号,上课日期,上课科目 科目分: 语文.数学.英语.计算机 要求统计一个这样子的结果: 学生姓名,学生手机号,第一次上课日期,迄今一共上了多少节课,上的最多的科目 ...
- 可以这样去理解group by和聚合函数
写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是 ...
- 可以这样去理解group by和聚合函数(转)
http://www.cnblogs.com/wuguanglei/p/4229938.html 写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不 ...
- GROUP BY 与聚合函数 使用注意点
表的设计: 表里面的内容: 一:在不使用聚合函数的时候,group by 子句中必须包含所有的列,否则会报错,如下 select name,MON from [测试.] group by name 会 ...
- 一文让你彻底理解group by和聚合函数
知道group by是进行分组查询,但是一直觉得对其理解得不够透彻,在网上扒了一篇文章,我认为写得非常好. 为什么不能够select * from Table group by id,为什么一定不能是 ...
随机推荐
- sar监控工具详解
转自http://www.cnblogs.com/Amaranthus/p/3745680.html SAR NAME: SAR报告,收集,保存系统活动信息 语法: sar [ -A ] [ -b ...
- react解析html标签组成的字符串
转载自:https://blog.csdn.net/tongshuo_11/article/details/61195232 var content = '<strong>content& ...
- win8 关闭防火墙
http://jingyan.baidu.com/article/b87fe19eddb4da5218356894.html
- ambari HDFS-HA 回滚
curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://zwshen86:8080/api/v1/cluster ...
- mysql 两台主主复制配置
A.服务器 [mysqld] # The TCP/IP Port the MySQL Server will listen on port= server-id= #master-host=10.1. ...
- Centos7.3.1611安装mysql5.7.18 rpm教程 并设置datadir
一.卸载MariaDB CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了mysql相关的软件包.因为MariaDB和MySQL可能会冲突,故先卸载MariaDB. 1. ...
- Linux服务器部署 Elasticsearch 成功,本机却访问不了
Elasticsearch版本: elasticsearch- 服务器版本: CentOS release 6.8 (Final) 问题: Linux服务器上部署了 Elasticsearch 5.5 ...
- UDP通信-UdpClient
static void Main(string[] args) { Console.WriteLine("发送端"); byte[] buffer = System.Text.En ...
- Git Step by Step – (2) 本地Repo
前面一篇文章简单介绍了Git,并前在Windows平台上搭建了Git环境,现在就正式的Git使用了. Git基本概念 在开始Git的使用之前,需要先介绍一些概念,通过这些概念对Git有些基本的认识,这 ...
- Web暴力破解--前端JS表单加密进行爆破
0x01 前言 常见的js实现加密的方式有:md5.base64.shal,写了一个简单的demo作为测试. 0x02 代码 login.html <!DOCTYPE HTML> < ...