• 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
    

  • 相关阅读:
    Net EF框架+ MySql示例
    Net EF框架+ MySql示例
    C#中读写INI配置文件
    C#中读写INI配置文件
    C#中读写INI配置文件
    IntelliJ IDEA 常用快捷键和设置
    IntelliJ IDEA 常用快捷键和设置
    C++STL_max
    出错啦!
    枝晶生长的宏微观模型
  • 原文地址:https://www.cnblogs.com/orangebook/p/3501687.html
Copyright © 2020-2023  润新知