转载:SQL中Group By 的常见使用方法
SQL中Group By 的常见使用方法
前言
今天逛java吧看到了一个面试题, 于是有了今天这个文章, 回顾下Group By的用法.
题目如下:
Select name from table group by name having count(*) = 10;
解释: 根据(by)一定的规则进行分组(Group) 所以就是根据题中的name进行分组, 然后把name相同的数量为10的记录都查找出来.
示例:
表结构:
执行结果:
如果再添加一条记录: wangmeng. 那么 就查询不到了. 只有 相同username count 为10的才会被查询出来.
1、概述
Group By 从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
2,原始表
3,实例说明
示例1
SQL语句如下:
select category, sum(count) as 数量之和
from groupbyDemo
group by category
结果如下:
看到结果大家都应该知道是怎样回事吧? 实际上就是分类汇总.
示例2
SQL语句如下:
SELECT category, SUM(COUNT) AS 数量之和, summary
FROM groupByDemo
GROUP BY category
ORDER BY category desc
结果如下:
说明, 这里加的 查询summary 会显示数据的第一条记录.
4,Group By与聚合函数
常用的聚合函数: count, sum, avg, max, min
示例1
SQL语句如下:
SELECT category, AVG(COUNT) AS 平均值 FROM groupByDemo GROUP BY category;
结果如下: 
注意:这里的平均值是根据category 分组后数据的平均值,而不是全表数据的平均值。
5, Having与Where的区别
(1)where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。
(2)having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。
示例1
SQL代码:
SELECT category, SUM(COUNT) AS 数量之和 FROM groupByDemo
GROUP BY category
HAVING SUM(COUNT) > 18
结果如下:
示例2
SQL语句:
SELECT category, SUM(COUNT)FROM groupByDemo
WHERE COUNT > 10
GROUP BY category
HAVING SUM(COUNT) > 8
结果如下:
转载:SQL中Group By 的常见使用方法的更多相关文章
- [数据库]SQL中Group By 的常见使用方法.
前言今天逛java吧看到了一个面试题, 于是有了今天这个文章, 回顾下Group By的用法.题目如下:Select name from table group by name having coun ...
- MYSQL:SQL中Group By的使用
SQL中Group By的使用 1.概述 2.原始表 3.简单Group By 4.Group By 和 Order By 5.Group By中Select指定的字段限制 6.Group By ...
- sql中group by用来干嘛的
sql中group by用来干嘛的 一.总结 一句话总结: 1.group by用来分类汇总的,by后面接要分的类 2.group by既然是分类汇总,那就要和聚合函数结合使用,因为要汇总啊 3.ha ...
- ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍
如果我是C罗 原文 ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 sequence在ORACLE中应用十分广泛,就是序列号的意思,会自动增加指定变数,如逐次增加1或者2或者 ...
- sql中group by 和having 用法解析
--sql中的group by 用法解析:-- Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.--它的作用是通过一定的规则将一个数据集划分成若干个小的 ...
- sql中group by
某图书馆收藏有书籍具有不同的出版年份,管理员需要做一下统计工作: (1)每一年书籍的数目,如: 2000年有10本书, 2001年有5本书... (2)每一种书籍的数目,如: 西游记有10本, 三国演 ...
- SQL中group by后面的having中不能使用别名
如下图中,SQL中需要对group by的结果使用having进行过滤,不能使用select中定义的别名,需要使用查询字段的原始名.否则会报错,列明未定义. 下图未错误演示: 修改后,正确的SQL语句 ...
- 转载-SQL中的where条件,在数据库中提取与应用浅析
1 问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣.当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析.语 ...
- SQL中合并多行记录的方法总汇
-- =============================================================================-- Title: 在SQL中分类合并数 ...
随机推荐
- C# 对接Https接口
最近公司项目需要对接Https接口,将对接的代码整理如下: public void Get() { HttpWebRequest request = null; request = WebReques ...
- C# 32位程序,申请大内存,附dome(wpf),亲测可用
1.我是vs2017,在选装vs的时候,需要安装c++模块,因为申请大内存的必要exe存放在vc的某个目录(下面会给出详细的地址)下的 2.安装完成在vs的安装目录可找到这个文件,我是社区版本的,如果 ...
- JAVA 从头开始<四>
一.switch 1.根据输入月份获取季节 import java.util.*; class Demo8{ public static void main(String[] args) { Syst ...
- JAVA 从头开始<二>
一.JAVA_HOME 1.环境变量如果经常变更,就要经常操作到Path,可能会一不小心把什么东西给删了 2.最好新建一个环境变量 3.如果使用新环境变量 ①原来的写法 ②现在的写法 新建环境变量JA ...
- httprunner 使用总结
HttpRunner 概念 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试 ...
- Java Web相关技术(汇聚页)
Java Web相关技术(汇聚页) 初学Java Web(2)——搭建Java Web开发环境
- Two Pointers-349. Intersection of Two Arrays
Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, 2, 1] ...
- getopt() getopt_long()函数手册[中文翻译]
getopt()函数 getopt_long函数 函数原型(function prototype) #include <unistd.h> int getopt(int argc, cha ...
- selenium IDE的基本命令
waitForText.verifyText和asserText命令 waitForText语句在测试执行时用来判断某些文本是否存在界面中.若界面上显示了指定文本,测试程序会继续执行:若等待一段时间后 ...
- POJ 2390
import java.util.*; public class Main { public static void main(String args[]){ double interest; Sca ...