`
wattone
  • 浏览: 40601 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

group by用法

 
阅读更多
  group by在我之前的工作中不一定用到,可惜group by在一般的笔试测试的时候经常用到。所以今天刚开一个博客记录下group by用法,为避免以后再犯这个错误。
  聚合函数
求和函数——SUM()

计数函数——COUNT()

最大/最小值函数—MAX()/MIN()

均值函数——AVG()

—————————————————————————————————————————

GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,你可以想想

你用了GROUP BY 按  ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示

A  B
1  abc
1  bcd
1  asdfg

select A,B from table group by A
你说这样查出来是什么结果,

A  B
   abc
1  bcd
   asdfg

右边3条如何变成一条,所以需要用到聚合函数,比如

select A,count(B) 数量 from table group by A
这样的结果就是
A  数量
1   3

——————————————————————————————————————


group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面。


比如一个表:tbl
A      B      C       D
1      001    aa      dx
2      001    bb      tj
3      002    cc      dx
4      002    dd      tj

用聚合函数的时候如果
select B from tbl group by B;
查询B列不重复数据
如果要列出其他列的数据需要加上聚合函数
select max(A),B,max(C),max(D) from tbl group by B;
但是这个时候列出的其他列的数据由于经过聚合函数,所以显示的是经过函数换算出来的数据。
分享到:
评论
4 楼 飞天奔月 2014-07-03  
MySQL 扩展了 GROUP BY的用途,因此你可以使用SELECT 列表中不出现在GROUP BY语句中的列或运算

参考mysql手册 12.10.3. 具有隐含字段的GROUP BY
3 楼 飞天奔月 2014-07-03  
可以看到我的例子中 group by id
但是select 中有 trade_no,但是一样会出结果
2 楼 飞天奔月 2014-07-03  
010000100001 1
010000100002 1
010000120001 1
010000130001 1
010000130002 1
010000130003 1
1 楼 飞天奔月 2014-07-03  
select
trade_no,
count(id)
from t_trade_online_payment_tradeno
group by id

相关推荐

    SQL中GROUP BY的用法

    SQL 中 GROUP BY 的用法及聚合函数 GROUP BY 是 SQL 中的一种分组查询语句,通常与聚合函数配合使用。GROUP BY 语句根据一个或多个列将查询结果分组,并对每组计算聚合函数的值。 在使用 GROUP BY 语句时,需要...

    Linq Grouping GroupBy 用法详解

    本文将深入探讨`GroupBy`方法的使用,包括其基本用法、多键分组以及在实际开发中的应用示例。 ### 1. 基本用法 `GroupBy`方法接收一个函数作为参数,该函数用于从每个元素中提取分组键。例如,如果你有一个`...

    group by用法.doc

    `GROUP BY`的常见用法包括: 1. **基本分组**: 例如,`SELECT CategoryID, AVG(UnitPrice), COUNT(UnitPrice) FROM Products WHERE UnitPrice > 30 GROUP BY CategoryID ORDER BY CategoryID DESC`。这个查询会返回...

    C# 中的GroupBy的动态拼接问题及GroupBy用法介绍

    废话不多说了,直接给大家贴代码了,具体代码如下所示: public class Person { public string FirstName{set;get;} public string LastName{set;get;} public Person(){} public Person(string firstName, ...

    mysql group by用法

    - **分组后排序:**在`GROUP BY`后使用`ORDER BY`可以对分组后的结果进行排序,如`ORDER BY column1 ASC/DESC`。 **4. 注意事项** - 在`SELECT`列表中,除了聚合函数外,只能包含`GROUP BY`子句中出现的列。 - `...

    group by的详解

    综上所述,`GROUP BY`和`HAVING`在Oracle数据库中是用于数据统计和分析的重要工具,正确理解并掌握它们的用法对于编写有效的SQL查询至关重要。通过合理运用这两者,数据库管理员可以生成满足各种复杂业务需求的报表...

    Oracle中分组查询group by用法规则详解

    使用`GROUP BY`时,`SELECT`列表中的非聚合函数列必须出现在`GROUP BY`子句中。这意味着,如果你选择了一个未在聚合函数中使用的列,该列就必须在`GROUP BY`子句中列出。例如: ```sql SELECT max(sal), job ...

    on与where、group by的用法

    #### GROUP BY用法 `GROUP BY`子句用于将结果集按照一个或多个列进行分组,并对每组应用聚合函数(如`COUNT`、`SUM`等)。这使得我们可以根据不同的维度对数据进行汇总。 - **基本语法**:`GROUP BY`的基本使用...

    简单讲解sql语句中的group by的使用方法

    下面我们将详细讨论`GROUP BY`的使用方法及其相关知识点。 1. **`GROUP BY`的基本概念** `GROUP BY`关键字用于将数据表中的数据根据一个或多个列的值进行分组。通过分组,你可以对每个组应用聚合函数,这有助于...

    group by + order by

    ### Group By 和 Order By 的使用方法及组合应用 在数据库查询语言 SQL(Structured Query Language)中,`GROUP BY` 和 `ORDER BY` 是两个非常重要的子句,它们可以帮助我们更高效地管理和展示数据。 #### GROUP ...

    第10讲-Panda数据集合并与连接、groupby用法.ipynb

    第10讲-Panda数据集合并与连接、groupby用法.ipynb

    order by 、group by 、having的用法

    总的来说,`ORDER BY`、`GROUP BY` 和 `HAVING` 是SQL中进行数据组织和分析的关键工具,掌握它们的用法对于高效地处理大数据至关重要。正确地运用这些子句可以帮助我们更好地理解和分析数据,从而做出更明智的决策。

    MySQL数据库中group by语句与update语句的用法研究.pdf

    MySQL 数据库中 group by 语句与 update 语句的用法研究 本论文对 MySQL 数据库中的 group by 语句和 update 语句进行了深入研究,讨论了这些语句在数据库查询和修改中的应用,并给出了具体的解决方案。 一、MySQL...

    mysql使用GROUP BY分组实现取前N条记录的方法

    本文实例讲述了mysql使用GROUP BY分组实现取前N条记录的方法。分享给大家供大家参考,具体如下: MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY...

    MYSQL GROUP BY用法详解

    现在需要把这些重复的数据删除掉,使用到的语句就是Group By来完成。为了进一步了解这条语句的作用,我打算先从简单入手。 建一个测试表 代码如下:create table test_group(id int auto_increment primary key, ...

    Linq中GroupBy方法的使用总结.

    Linq中GroupBy方法的使用总结 Linq 中的 GroupBy 方法是对数据进行分组的操作,通常用于对一个或多个字段进行分组,求其总和、均值等。下面我们来详细介绍 Linq 中 GroupBy 方法的使用。 一、基本使用 在 Linq 中...

Global site tag (gtag.js) - Google Analytics