`
jinyanhui2008
  • 浏览: 318483 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

group by用法

    博客分类:
  • Sql
阅读更多

  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; 
但是这个时候列出的其他列的数据由于经过聚合函数,所以显示的是经过函数换算出来的数据。

分享到:
评论

相关推荐

    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分组实现取前N条记录的方法

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

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

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

    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