首页 > 数据库 >无涯教程-MySQL Group By Clause函数

无涯教程-MySQL Group By Clause函数

时间:2023-11-27 20:31:30浏览次数:57  
标签:COUNT GROUP Group Clause 无涯 2007 mysql employee 06

您可以使用 GROUP BY 对一列中的值进行分组,并且,如果需要,可以对该列进行计算。您可以在分组列上使用COUNT,SUM,AVG等功能。

要了解 GROUP BY 子句,请考虑一个 employee_tbl 表,该表具有以下记录-

mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+
|  id  | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
|   1  | John | 2007-01-24 |        250         |
|   2  | Ram  | 2007-05-27 |        220         |
|   3  | Jack | 2007-05-06 |        170         |
|   3  | Jack | 2007-04-06 |        100         |
|   4  | Jill | 2007-04-06 |        220         |
|   5  | Zara | 2007-06-06 |        300         |
|   5  | Zara | 2007-02-06 |        350         |
+------+------+------------+--------------------+
7 rows in set (0.00 sec)

现在,假设基于上表,我们要计算每个员工工作的天数。

如果我们将编写如下的SQL查询,则将得到以下输出:

mysql> SELECT COUNT(*) FROM employee_tbl;
+---------------------------+
|          COUNT(*)         |
+---------------------------+
|             7             |
+---------------------------+

但这没有达到我们的目的,我们希望显示每个人分别键入的页面总数。这是通过将聚合函数与 GROUP BY 子句结合使用来完成的,如下所示-

mysql> SELECT name, COUNT(*)
   -> FROM   employee_tbl 
   -> GROUP BY name;
+------+----------+
| name | COUNT(*) |
+------+----------+
| Jack |     2    |
| Jill |     1    |
| John |     1    |
| Ram  |     1    |
| Zara |     2    |
+------+----------+
5 rows in set (0.04 sec)

我们将在SUM,AVG等其他功能中看到更多与GROUP BY相关的功能。

参考链接

https://www.learnfk.com/mysql/mysql-group-by-clause.html

标签:COUNT,GROUP,Group,Clause,无涯,2007,mysql,employee,06
From: https://blog.51cto.com/u_14033984/8588429

相关文章

  • 无涯教程-MySQL - 数据库信息
    您希望从MySQL获得三种信息。有关查询输出的信息     -包括受任何SELECT,UPDATE或DELETE语句影响的记录数。有关表和数据库的信息   - 这包括与表和数据库的结构有关的信息。有关MySQL服务器的信息-其中包括数据库服务器的状态,版本号等。在MySQL提示......
  • 无涯教程-MySQL - 备份数据
    将表数据导出到文本文件中的最简单方法是使用SELECT...INTOOUTFILE语句,该语句将查询输出直接导出到服务器主机上的文件中。SELECT...INTOOUTFILE该语句的语法在最后将常规SELECT命令与INTOOUTFILE文件名结合在一起,默认输出格式与LOADDATA命令相同,因此,以下语句将t......
  • JAVA替换replaceAll方法报错:Illegal group reference
     Exceptioninthread"main"java.lang.IllegalArgumentException:Illegalgroupreference atjava.util.regex.Matcher.appendReplacement(Matcher.java:857) atjava.util.regex.Matcher.replaceAll(Matcher.java:955) atjava.lang.String.replaceAll(String......
  • 无涯教程-MySQL - 临时表
    在某些情况下,临时表对于保留临时数据可能非常有用,临时表应该知道的最重要的事情是,当当前客户端会话终止时,它们将被删除。创建临时表在MySQL3.23版中添加了临时表。如果您使用的MySQL版本早于3.23,则不能使用临时表,但可以使用堆表。语法:mysql>CREATETEMPORARYTABLEtable_......
  • 无涯教程-MySQL - NULL 语句
    前面已经介绍了如何利用SQL的SELECT命令配合WHERE子句来获取MySQL表中的数据,但假如尝试给出一个条件,将字段或列值与NULL比对,则会出现异常。为了处理这种情况,MySQL提供了三个运算符-ISNULL      -如果列值为NULL,则此运算符返回true。ISNOTNULL-如果......
  • 无涯教程-MySQL - 安装设置
    MySQL的所有下载均位于MySQL下载中,选择MySQLCommunityServer的版本号,以及将在其上运行的平台。Linux安装建议在Linux系统上安装MySQL的方法是通过RPM。 现在,您将需要遵循以下步骤,继续进行安装-[root@host]#rpm-iMySQL-x.x.xx.i386.rpm您可以在/usr/bin和/usr/sbin......
  • 无涯教程-Linux - 重定向
    在本章中,我们将详细讨论ShellI/O重定向。大多数Unix系统命令从您的终端获取输入,并将输出发送回您的终端输出。输出重定向符号>file命令将输出输出到指定的file中,如检查以下who命令,该命令将输出重定向用户文件中。$who>users请注意,终端上没有输出。这是因为输出已从......
  • 无涯教程-Linux - 引用机制
    在本章中,我们将详细讨论Shell引用机制。我们将从讨论元字符开始。元字符UnixShell提供了各种元字符,这些元字符在任何Shell脚本中使用时都有特殊的含义,并且除非引号引起,否则会导致终止。如,?匹配单个字符,而在目录中列出文件,而*匹配多个字符。这是大多数Shell特殊字符(也称为......
  • 无涯教程-Linux - 替换语句
    当Shell遇到包含一个或多个特殊字符的表达式时,它将执行替换语句。在此,变量的打印值由其值代替。同时,"\n"换行-#!/bin/sha=10echo-e"Learnfk.comofageis$a\n"您将收到以下输出。在这里,-e选项可以解释反斜杠转义符。Learnfk.comofageis10以下是没有-e选项的......
  • 无涯教程-Linux - 条件判断
    在本章中,我们将了解Unix中的Shell判断语句。if...else语句case...esac语句if...else语句UnixShell支持以下形式的if…else语句-if...fi语句if...else...fi语句if...elif...else...fi语句CASE...ESAC声明您可以使用多个if...elif......