sqlite sql语句关键字GROUP BY的理解
第一遍看GROUP BY的介绍时,没看懂。
SQLite 的 GROUP BY 子句用于与 SELECT 语句一起使用,来对相同的数据进行分组。在 SELECT 语句中,GROUP BY 子句放在 WHERE 子句之后,放在 ORDER BY 子句之前。
假设有如下表:
sqlite> select * from company;
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
Paul California 20000.0
Allen Texas 15000.0
Teddy Norway 20000.0
Mark Rich-Mond 65000.0
David Texas 85000.0
Kim Texas 45000.0
James Houston 10000.0
Paul California 20000.0
James Texas 5000.0
James Texas 5000.0
假设需要统计每个人的薪水,很显然,只要把每个人的薪水统计一下即可。那么首先就需要确定哪几条记录是同一个人的。上表中,有2条记录为Paul,3条记录为James,仔细观察可以看到,Paul的地址和年龄是一样的,说明是同一个人,而每个James要么年龄不同,要么地址不同,可以判断他们不是同一个人,需要分开来统计。有了这些前提描述,再看看下面的sql语句和输出:
sqlite> select id,name,age,address,sum(salary) from company group by name,age,address;
ID NAME AGE ADDRESS sum(salary)
---------- ---------- ---------- ---------- -----------
Allen Texas 15000.0
David Texas 85000.0
James Houston 10000.0
James Norway 5000.0
James Texas 5000.0
Kim Texas 45000.0
Mark Rich-Mond 65000.0
Paul California 40000.0
Teddy Norway 20000.0
可以看到Paul薪水数据被合并,James未合并,因为他们不是同一个人。关键在于"group by name, age, address",意思是将name, age ,address均相同的项合并为一项
sqlite sql语句关键字GROUP BY的理解的更多相关文章
- 单表:SQL语句关键字的执行顺序
表和数据: -- 创建表 CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, `age` ) ', ` ...
- (转载)SQL语句中Group by语句的详细介绍
转自:http://blog.163.com/yuer_d/blog/static/76761152201010203719835 SQL语句中Group by语句的详细介绍 ...
- [转]SQL语句:Group By总结
1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若 ...
- SQL语句:Group By总结
1. Group By 语句简介: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)".它的作用是通过一定的规则将一个数据集划分成若干个 ...
- SQL语句之Group By
1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若 ...
- sql语句的group by 与 inner join
一.理解group by和聚合函数 先来看下表1,表名为test: 表1 执行如下SQL语句: 1 2 SELECT name FROM test GROUP BY name 你应该很容易知道运行的结 ...
- 关于SQLSERVER中用SQL语句查询的一些个人理解
作为一个编程菜鸟说真的很难有什么见解,也就是写给一些刚学习编程的人,希望能给他们一些帮助吧! SQLSERVER作为刚开始入门学习的数据库,SQL语句也并不算太难!说白了也就是建库,建表,建约束,对数 ...
- sql语句中group by使用
group by分组函数,group by name 将查询结果按照name进行分组,相同name的记录一组,配合聚合函数,显示每个name的情况. 1,数据源 表A结构如下: CREATE TA ...
- LINQ体验(7)——LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains
我们继续讲解LINQ to SQL语句,这篇我们来讨论Group By/Having操作符和Exists/In/Any/All/Contains操作符. Group By/Having操作符 适用场景 ...
随机推荐
- RL 编、解码(EncodedString、DecodedString) - iOS
开发中对文本传输或二进制传输,都需要将传输的对象进行二进制字节的转化操作,所以无异于编.解码便会经常用到的操作; 当然除了这种方式之外,还有一种常用的 Base64,此文中不具体细谈, Base64 ...
- c++stl应用入门
在这篇中,我会讲几个简单易懂且比较常用的stl函数,这些函数在noip系列考试中往往被允许使用(既然让用我们自然不用手码了...) (末尾有惊喜!) 1.sort 绝大部分刚入门的oier第一个接触的 ...
- ABAP术语-Function Group
Function Group 原文:http://www.cnblogs.com/qiangsheng/archive/2008/02/13/1067699.html Group of logical ...
- MySQL备份恢复之mysqldump
Preface The day before yesterday,there's a motif about the lock procedure when backing up My ...
- centos7编译安装Apache
一.安装 安装之前先将服务器的防火墙关掉. systemctl stop firewalld systemctl disable firewall 第一步: 安装apr 下载: wget -c ...
- 【ospf-stub区域配置】
根据项目需求搭建好如下拓扑图 配置rt1的环回口地址及g0/0/0和g0/0/1的ip地址 配rt1的ospf 配置rt2的环回口地址和g0/0/0和g0/0/1 配置rt2的ospf 配置rt3的环 ...
- 关于antd-mobile中列表上拉加载PullToRefresh的使用
相信有很多小伙伴发现antd-mobile中的下拉刷新组件,也发现例子挺难的,其实这个组件并没有那么复杂,只是demo例子不好理解,给大家提供一个简单的demo,或许可以帮到你 上拉刷新下拉加载 - ...
- 获取cookie,设置cookie,删除cookie
//获取cookie export const getCookie = (name) => { var arr, reg = new RegExp("(^| )" + nam ...
- MR执行流程
1.Map任务处理 1.1 读取HDFS中的文件.每一行解析成一个<k,v>.每一个键值对调用一次map函数. <0,hello you> <10,hello me& ...
- python的爬虫代理设置
现在网站大部分都是反爬虫技术,最简单就是加代理,写了一个代理小程序. # -*- coding: utf-8 -*- #__author__ = "雨轩恋i" #__date__ ...