SQLite - GROUP BY

SQLite GROUP BY子句中使用与SELECT语句的合作安排相同的数据组。

在GROUP BY子句之前一个SELECT语句的WHERE子句,先于ORDER BY子句。

语法:

GROUP BY子句的基本语法如下所示。

GROUP BY子句必须遵循的条件在WHERE子句中,必须先于ORDER BY子句使用的是如果一个人。

SELECT column-list

FROM table_name

WHERE [ conditions ]

GROUP BY column1, column2....columnN

ORDER BY column1, column2....columnN

您可以使用GROUP BY子句中多个列。确保使用的任何列组,该列应该在column-list可用。

例子:

COMPANY table有以下记录:

ID          NAME        AGE         ADDRESS     SALARY

----------  ----------  ----------  ----------  ----------

1           Paul        32          California  20000.0

2           Allen       25          Texas       15000.0

3           Teddy       23          Norway      20000.0

4           Mark        25          Rich-Mond   65000.0

5           David       27          Texas       85000.0

6           Kim         22          South-Hall  45000.0

7           James       24          Houston     10000.0

如果你想知道每个客户的工资总额,然后通过查询集团将如下:

sqlite> SELECT NAME, SUM(SALARY) FROM COMPANY GROUP BY NAME;

这将产生以下结果:

NAME        SUM(SALARY)

----------  -----------

Allen       15000.0

David       85000.0

James       10000.0

Kim         45000.0

Mark        65000.0

Paul        20000.0

Teddy       20000.0

现在,让我们创建三个记录公司表使用INSERT语句如下:

INSERT INTO COMPANY VALUES (8,
'Paul',
24,
'Houston',
20000.00
);

INSERT INTO COMPANY VALUES (9,
'James',
44,
'Norway',
5000.00
);

INSERT INTO COMPANY VALUES (10,
'James',
45,
'Texas',
5000.00
);

现在,我们与重复名称表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY

----------  ----------  ----------  ----------  ----------

1           Paul        32          California  20000.0

2           Allen       25          Texas       15000.0

3           Teddy       23          Norway      20000.0

4           Mark        25          Rich-Mond   65000.0

5           David       27          Texas       85000.0

6           Kim         22          South-Hall  45000.0

7           James       24          Houston     10000.0

8           Paul        24          Houston     20000.0

9           James       44          Norway      5000.0

10          James       45          Texas       5000.0

再一次,让我们使用相同的声明group by所有记录使用的名字列如下:

sqlite> SELECT NAME, SUM(SALARY) FROM COMPANY GROUP BY NAME ORDER BY NAME;

这将产生以下结果:

NAME        SUM(SALARY)

----------  -----------

Allen       15000

David       85000

James       20000

Kim         45000

Mark        65000

Paul        40000

Teddy       20000

让我们使用ORDER BY子句以及GROUP BY子句如下:

sqlite> SELECT NAME, SUM(SALARY)

FROM COMPANY GROUP BY NAME ORDER BY NAME DESC;

这将产生以下结果:

NAME        SUM(SALARY)

----------  -----------

Teddy       20000

Paul        40000

Mark        65000

Kim         45000

James       20000

David       85000

Allen       15000

SQLite – GROUP BY的更多相关文章

  1. 学习SQLite之路(二)

    下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本 ...

  2. Android-adb 常用命令 和 sqlite

    Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...

  3. Android SQLite (四 ) 全面详解(二)

    SQLite创建数据库 创建数据库语法: sqlite3 DatabaseName.db 如下展示一个实例: SQLite附加数据库 假设这样一种情况,当在同一时间有多个数据库可用,您想使用其中的任何 ...

  4. SQLite 使用教程2 语法

    http://www.runoob.com/sqlite/sqlite-syntax.html SQLite 语法 SQLite 是遵循一套独特的称为语法的规则和准则.本教程列出了所有基本的 SQLi ...

  5. sqlite详细介绍

    ------------------------------------------------------------------------------SQLite简介-------------- ...

  6. SQLite 语法(http://www.w3cschool.cc/sqlite/sqlite-syntax.html)

    SQLite 语法 SQLite 是遵循一套独特的称为语法的规则和准则.本教程列出了所有基本的 SQLite 语法,向您提供了一个 SQLite 快速入门. 大小写敏感性 有个重要的点值得注意,SQL ...

  7. SQLite基础教程目录

    SQLite基础教程目录 SQLite主页 SQLite概述 SQLite -安装 SQLite -命令 SQLite -语法 SQLite -数据类型 SQLite -创建数据库 SQLite -附 ...

  8. SQLite -语法

    SQLite -语法 SQLite是紧随其后的是独特的组称为语法的规则和指导方针.本教程为您提供了快速启动和SQLite的清单的所有基本SQLite语法. 大小写敏感性 注意重要的一点是,SQLite ...

  9. sqlite 初

    1.SQLite是什么 基于文件的轻型数据库 无服务器  零配置  支持事务  开源 2.SQLite 怎么用   2.1 安装 SQLite官网上下载对应的DLL 与工具 配置环境变量 安装完成以后 ...

随机推荐

  1. SPOJ:Stack Overflow(并查集)

    Stack is a basic data structure. Where 3 operation can be done- Push: You can push object to the sta ...

  2. java web项目的目录结构

  3. [Codeforces 914D] Bash and a Tough Math Puzzle

    [题目链接] https://codeforces.com/contest/914/problem/D [算法] 显然 , 当一个区间[l , r]中为d倍数的数的个数 <= 1 , 答案为Ye ...

  4. linux 下 读取某个文件的某一行或者某几行

    wc -l  a.txt  统计a.txt 行数 查看文件a.txt的第190行到196行, sed -n '190,196p' a.txt  如果查看某一行用 sed -n 'a,bp' a.txt ...

  5. hibernate -- 分页模糊查询中setParameter 和setParameterList

    在分页模糊查询中碰到setParameter 和setParameterList这两个方法 setParameter 以前就只会用setParameter(int arg,String str),我用 ...

  6. Codeforces Round #422 (Div. 2) C. Hacker, pack your bags!(更新数组)

    传送门 题意 给出n个区间[l,r]及花费\(cost_i\),找两个区间满足 1.区间和为指定值x 2.花费最小 分析 先用vector记录(l,r,cost)和(r,l,cost),按l排序,再设 ...

  7. hdoj1160【DP】

    现在还很弱,贴一个我bin的结题报告日后写到一定会了加油 说说感觉,读题不读好,然后读完想不出,知道是dp不好好想,先排序一列,再求另一列,dp[ i ]代表长度,那么需要输出整个序列需要路径和一个标 ...

  8. Unity3D教程:换装方法

    http://www.manew.com/4136.html 游戏内的角色,能够像纸娃娃换装那样子让玩家可以为自己的角色改变外观,一直是相当受欢迎的功能:一般而言,我们建好的 3D 模型,如果要将其中 ...

  9. .NET Core 跨平台物联网开发:设置委托事件(二)

    系列教程目录 (一) 连接阿里云IOT (二) 设置委托事件 (三) 上报属性 (四)  SDK文档 属性.方法.委托.类 http://pan.whuanle.cn/index.php?dir=up ...

  10. ASI框架的使用

    iOS开发网络篇—简单介绍ASI框架的使用 说明:本文主要介绍网络编程中常用框架ASI的简单使用. 一.ASI简单介绍 ASI:全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大 ...