第一遍看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的理解的更多相关文章

  1. 单表:SQL语句关键字的执行顺序

    表和数据: -- 创建表 CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, `age` ) ', ` ...

  2. (转载)SQL语句中Group by语句的详细介绍

    转自:http://blog.163.com/yuer_d/blog/static/76761152201010203719835 SQL语句中Group by语句的详细介绍              ...

  3. [转]SQL语句:Group By总结

    1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若 ...

  4. SQL语句:Group By总结

    1. Group By 语句简介: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)".它的作用是通过一定的规则将一个数据集划分成若干个 ...

  5. SQL语句之Group By

    1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若 ...

  6. sql语句的group by 与 inner join

    一.理解group by和聚合函数 先来看下表1,表名为test: 表1 执行如下SQL语句: 1 2 SELECT name FROM test GROUP BY name 你应该很容易知道运行的结 ...

  7. 关于SQLSERVER中用SQL语句查询的一些个人理解

    作为一个编程菜鸟说真的很难有什么见解,也就是写给一些刚学习编程的人,希望能给他们一些帮助吧! SQLSERVER作为刚开始入门学习的数据库,SQL语句也并不算太难!说白了也就是建库,建表,建约束,对数 ...

  8. sql语句中group by使用

    group by分组函数,group by name 将查询结果按照name进行分组,相同name的记录一组,配合聚合函数,显示每个name的情况.   1,数据源 表A结构如下: CREATE TA ...

  9. 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操作符 适用场景 ...

随机推荐

  1. 关于 NSData 的数据类型(2进制,16进制之间)及深入剖析(转)

    . NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc initWithData:adataenco ...

  2. django+xadmin在线教育平台(十六)

    7-7 modelform 提交我要学习咨询1 对应表userask form会对字段先做验证,然后保存到数据库中. 可以看到我们的forms和我们的model中有很多内容是一样的.我们如何让代码重复 ...

  3. tp5多条件查询

    ->where('m.user_nickname|w.nickname|c.companyname','like','%'.$search.'%')\

  4. html+php上传图片文件到服务器

    html+php上传图片文件到服务器 一.html代码 <body> <form action="" method="post" enctyp ...

  5. ubuntu 18 lnmp

    1安装Nginx sudo apt-get install nginx 2安装PHP sudo apt- php7.-fpm 3安装mysql sudo apt-get install mysql 启 ...

  6. LINUX SSH 建立密钥对

    配置私钥和公钥 先检查一下服务器的ssh配置文件 /etc/ssh/sshd_config RSAAuthentication yes # 启用 RSA 认证 默认为 yes PubkeyAuthen ...

  7. 数据分析处理库Pandas——时间

    时间戳 向后推的时间戳 备注:五天后的时间. 指定日期和时间 时间的Series结构 按要求显示时间(开始时间,时间间隔,时间个数) 转换为时间格式,并设置时间列为索引列 方法一 方法二 筛选显示 方 ...

  8. python之三元运算

    三元运算(三目运算):用于较简单的判断(if   else). if True: return s = "aaaa" else: return s = "bbbb&quo ...

  9. 幸运三角形 南阳acm491(dfs)

    幸运三角形 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 话说有这么一个图形,只有两种符号组成(‘+’或者‘-’),图形的最上层有n个符号,往下个数依次减一,形成倒 ...

  10. Linux编程之Epoll高并发

    网络上所有资料都说epoll是高并发.单线程.IO重叠服用的首选架构,比select和poll性能都要好,特别是在有大量不活跃连接的情况下.具体原理就不阐述了,下面说说使用. 具有有三个函数: #in ...