- 浏览: 6352208 次
- 性别:
- 来自: 一片神奇的土地
文章分类
- 全部博客 (745)
- JQuery (25)
- JS (33)
- 数据库 (59)
- Java基础 (56)
- JSON (8)
- XML (8)
- ireport (7)
- 设计模式 (10)
- 心情 (14)
- freemarker (1)
- 问题 (15)
- powerdesigner (2)
- CSS (15)
- DWR (4)
- tomcat (16)
- Hibernate (12)
- Oracle (7)
- Struts (7)
- Spring (34)
- JSP (23)
- 需学习 (64)
- 工具类库 (63)
- Maven (14)
- 笔试题 (34)
- 源码学习 (31)
- 多线程 (39)
- Android (32)
- 缓存 (20)
- SpringMVC (14)
- jQueryEasyUi (12)
- webservice-RPC (13)
- ant (1)
- ASP.NET (10)
- 正则表达式 (3)
- Linux (15)
- JBoss (1)
- EJB (3)
- UML (2)
- JMS (3)
- Flex (8)
- JSTL (2)
- 批处理 (5)
- JVM (16)
- 【工具】 (16)
- 数据结构 (29)
- HTTP/TCP/Socket (18)
- 微信 (1)
- tomcat源码学习 (15)
- Python (30)
- 主机 (2)
- 设计与架构 (19)
- thrift-RPC (2)
- nginx (6)
- 微信小程序 (0)
- 分布式+集群 (12)
- IO (1)
- 消息队列 (4)
- 存储过程 (8)
- redis (9)
- zookeeper (5)
- 海量数据 (5)
最新评论
-
360pluse:
技术更新,战术升级!Python爬虫案例实战从零开始一站通网盘 ...
Python爬虫实战:Scrapy豆瓣电影爬取 -
18335864773:
推荐用 pageoffice 组件生成 word 文件。
JAVA生成WORD工具类 -
jjhe369:
LISTD_ONE 写道起始地址为163.135.0.1 结束 ...
IP地址与CIDR -
baojunhu99:
private final int POOL_SIZE = 5 ...
使用CompletionService获取多线程返回值 -
LovingBaby:
胡说,javascript 运行时是单线程的,event lo ...
Ajax请求是否可以实现同步
首先group by 的简单说明:
group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素:
(1) 出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的.
(2) 要筛选结果 可以先使用where 再用group by 或者先用group by 再用having
下面看下 group by多个条件的分析:
在SQL查询器输入以下语句
create table test
(
a varchar(20),
b varchar(20),
c varchar(20)
)
insert into test values(1,'a','甲')
insert into test values(1,'a','甲')
insert into test values(1,'a','甲')
insert into test values(1,'a','甲')
insert into test values(1,'a','乙')
insert into test values(1,'b','乙')
insert into test values(1,'b','乙')
insert into test values(1,'b','乙')
第一次查询
select * from test; 结果如下图:
结果中 按照b列来分:则是 5个a 3个b.
按照c列来分:则是 4个甲 4个乙.
第二次 按照 b列来分组 代码如下
select count(a),b from test group by b
第三次 按照 c列来分组 代码如下
select count(a),c from test group by c
第四次 按照 b c两个条件来分组
select count(a),b,c from test group by b,c
第五次 按照 c b 顺序分组
select count(a),b,c from test group by c,b
可以看出 group by 两个条件的工作过程:
先对第一个条件b列的值 进行分组,分为 第一组:1-5, 第二组6-8,然后又对已经存在的两个分组用条件二 c列的值进行分组,发现第一组又可以分为两组 1-4,5
来源:http://hi.baidu.com/w_xiaofeng20xx/item/05a2bf154020b97a1009b5e0
评论
例:再添加一个d列,d列的内容为X Y X Y X Y X Y
select count(a) from test where d = y group by b,c
会是什么样的结果呢?
发表评论
-
count(*),count(1)和count(字段)的区别
2019-04-04 11:19 5603很多人认为count(1)执行的效率会比count(*)高 ... -
如何避免死锁
2018-12-20 15:31 3393一句话一张图说明银行 ... -
mysql多表更新
2018-12-13 11:18 1401Mysql update多表联合更新 update ... -
SQL优化-慢查询+explain查询
2018-11-27 17:12 4729利用EXPLAIN分析sql语句 ... -
关系型数据库和非关系型数据库区别
2018-08-29 17:46 4939SQL与NoSQL(关系型与非关系型)数据库的区别 Nos ... -
分布式CAP原则
2018-08-29 14:15 2332CAP原则 - 百度百科 分布式CAP定理,为什么不能同 ... -
数据库索引B树、B+树、Hash索引
2018-08-27 17:44 15532程序员小灰 - 漫画: ... -
MYSQL主从复制
2018-08-23 17:53 1124MySQL主从复制与主主复制 MySQL集群(一)之主从 ... -
char/varchar/nvarchar的区别及其各自的使用场景
2018-08-20 10:58 2435MySQL数据库char与varchar ... -
MVCC
2018-08-20 10:34 3544轻松理解MYSQL MVCC 实现机制 1.1 什 ... -
MYSQL保留小数
2018-06-12 11:44 3498mysql保留小数 1、调 ... -
MYSQL数据库死锁的原因和解决方法
2018-05-07 18:15 5698Mysql并发时经典常见的死锁原因及解决方法 总结线上遇 ... -
limit 20000 加载很慢怎么解决
2018-05-07 17:16 12334如何优化Mysql千万级快速分页 MYSQL分页limi ... -
MySQL存储引擎InnoDB和MyISAM对比分析
2018-04-27 11:32 1418InnoDB存储引擎 InnoDB是一个事务型的存储引擎 ... -
数据库锁分类
2018-04-25 18:00 1643一般可以分为两类, ... -
sql查询20到30条记录
2018-04-24 15:36 49111. MySql查询 [sql] view pl ... -
Case When
2018-01-24 09:50 1793mysql嵌套CASE WHEN MySQL ... -
Mysql for update行级锁、表级锁、页级锁
2017-01-16 15:45 5490MySQL中SELECT+UPDATE处理并发更新问题解决 ... -
mysql delete删除记录数据库空间不减少问题解决方法
2016-11-16 16:06 3516今天空间商告诉我数据 ... -
mysql删除指定前缀的表
2016-11-10 11:45 2021批量删除指定前缀表: Select CONCAT( ...
相关推荐
在数据库查询语言 SQL(Structured Query Language)中,`GROUP BY` 和 `ORDER BY` 是两个非常重要的子句,它们可以帮助我们更高效地管理和展示数据。 #### GROUP BY 子句 `GROUP BY` 主要用于将数据表中的数据...
这意味着你可以根据两个或更多列的值来分组数据。例如,如果我们不仅关心客户,还关心订单日期,可以这样写: ```sql SELECT Customer, OrderDate, SUM(OrderPrice) FROM Orders GROUP BY Customer, OrderDate; ```...
GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法。 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: 代码如下:SELECT a.id,a.SName,a.ClsNo...
SQL中的`GROUP BY`语句是数据库查询中的一个重要部分,它用于将数据按照一个或多个列的值进行分组,以便对每个组执行聚合函数,如`SUM`、`COUNT`、`AVG`和`MAX`等。下面我们将详细讨论`GROUP BY`的使用方法及其相关...
`ON`条件主要用于定义两个或多个表之间的连接条件。它是生成临时表的基础,即在执行连接操作时,数据库会根据`ON`条件构建一张临时表。无论`ON`条件是否为真,都会保留左侧表的所有记录,这也是`LEFT JOIN`的核心...
Inner Join用于从两个或更多表中返回匹配行,即两个表中存在对应关系的行。假设我们有一个产品表和一个订单表,我们可以使用Inner Join来获取特定客户的所有订单: ```sql SELECT Orders.CustomerID, Customers....
Sql 聚合函数和 group by 是 SQL 语言中两个非常重要的概念,它们之间存在紧密的联系。那么,什么是聚合函数?什么是 group by?它们之间的关系是什么?在本文中,我们将详细地解释 Sql 聚合函数和 group by 的关系...
确实,groupby是数据分析中不可或缺的一个功能,它让处理复杂数据集变得更加高效和直观。 总结而言,Python中的groupby分组功能是Pandas库非常重要的一个功能,它能够根据一个或多个字段的值将数据集划分为不同的组...
在本实例中,仅仅设置 device_id 和 product_id 两个字段的索引是不够的,需要将 log_time 字段一起设置为联合索引,才能达到理想的查询速度。 知识点5:Query 优化的思路 在优化查询时,需要遵循一定的思路。首先...
通过添加`HAVING COUNT(*) = 2`条件,可以筛选出那些恰好有两个成绩记录的学生。 ##### 示例4:按姓名分组,计算每个学生的总成绩 ```sql SELECT name, SUM(score) AS TotalScore FROM score_table GROUP BY name;...
例如,如果在 `GROUP BY` 语句后面指定了两个列 `column1` 和 `column2`,那么 `WITH ROLLUP` 将会产生以下几类分组: 1. 按 `column1` 和 `column2` 进行分组。 2. 按 `column1` 进行分组(忽略 `column2`)。 3. ...
Linq 中的 GroupBy 方法是对数据进行分组的操作,通常用于对一个或多个字段进行分组,求其总和、均值等。下面我们来详细介绍 Linq 中 GroupBy 方法的使用。 一、基本使用 在 Linq 中,GroupBy 方法的基本使用方式...
在优化之前,此表仅对`device_id`和`product_id`两个字段设置了联合索引。执行上述SQL查询耗时接近40分钟。这一问题引起了我们的关注,并开始尝试找出原因并寻找解决方案。 #### 优化过程 **初步测试** 起初,...
在这个例子中,`SUM(salary) OVER ()`计算整个数据集的总工资,而`COUNT(*) OVER ()`计算总行数,两个窗口函数结合就可以计算每个员工工资与公司总平均工资的比例。 当然,在一些数据库系统中,可能需要结合case...
总之,GROUP BY和HAVING子句是SQL中的强大工具,它们是数据分析师和数据库管理员在处理大量数据时不可或缺的部分。通过对数据进行有效的分组和筛选,我们可以更深入地理解数据的结构和模式,从而做出更好的决策。在...
这个存储过程接受两个参数,`@PageIndex`和`@PageSize`,分别表示当前页和每页的记录数。然后,它计算出开始和结束行号,并执行分页查询。 总的来说,结合`GROUP BY`和分页技术,可以在处理大型数据集时提供高效且...
GROUP BY 子句有多种形式,本文将通过实例来说明 GROUP BY 子句的三种样式:GROUP BY、GROUP BY ROLLUP、GROUP BY CUBE、GROUP BY GROUPING SETS。 1. GROUP BY 语句 GROUP BY 语句是最基本的分组语句,它可以根据...
C# List多条件查询聚合查询,List条件查询Where与GroupBy聚合查询
### SQL语句中Group BY 和Rollup以及...通过以上示例和解释,我们可以更好地理解SQL中`GROUP BY`、`ROLLUP`和`CUBE`的作用和用法。在实际工作中,根据需求选择合适的分组方式能够有效地提高数据处理的效率和灵活性。
用C#实现对DataTable的JOIN,GROUP BY,FILTER,UNIONALL,DISTINCT