zoukankan      html  css  js  c++  java
  • SQLite – GROUP BY

    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
    

  • 相关阅读:
    静态内部类与非静态内部类之间的访问
    面向对象蚂蚁爬杆的问题
    关于Clone 的方法使用
    关于谁来参加会议这个题目的卫条件
    String类的基本用法与注意点,StringBuffer类的用法
    Smarty模板Windows下写代码 放到CentOS6.5无法正确解析
    [转]Linux(centOS6.5)下SVN的安装、配置及开机启动
    [转]Centos6.5使用yum安装mysql—配置MySQL允许远程登录
    [转]-bash: wget: command not found的两种解决方法
    [转]VMware 出现下述错误: Application failure. hr=0x80040101:Failed to initialize virtual machine.
  • 原文地址:https://www.cnblogs.com/orangebook/p/3501687.html
Copyright © 2011-2022 走看看