`
san_yun
  • 浏览: 2653459 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

SQL中以count及sum为条件的查询

 
阅读更多

原文: http://kiddymeet.blog.51cto.com/20194/19376/

在开发时,我们经常会遇到以“累计(count) ”或是“累加(sum) ”为条件的查询。比如user_num表:

id
user
num
1
a
3
2
a
4
3
b
5
4
b
7
 
  例1:查询出现过2次的user。
  往往初学者会错误地认为在where 语句里直接使用count()算法,很显然这个想法是错误的,count()方法并不能被用在where子句中,为了解决问题,我们可以在group by子句后面使用HAVING来做条件限制。
  错误做法:select * from user_num where count(user)>=2 group by user;
  正确做法:select * from user_num group by user HAVING count(user)>=2 ;
  解释说明:HAVING 与 WHERE 类似,可用来决定选择哪些记录。HAVING 子句在SELECT语句中指定,显示哪些已用 GROUP BY 子句分组的记录。在GROUP BY组合了记录后, HAVING会显示 GROUP BY 子句分组的任何符合 HAVING 子句的记录。
 
  例2:查询单一用户的num总和大于10的用户。
  有前面的经验,把sum()方法写在HAVING子句中。
  正确做法:select * from user_num group by user HAVING sum(num )>10 ;
 
  注意:一个HAVING子句最多只能包含40个表达式,HAVING子句的表达式之间可以用AND和OR分割。
分享到:
评论

相关推荐

    sql中count或sum为条件的查询示例(sql查询count)

    本文将通过两个示例详细介绍如何在SQL中使用`COUNT()` 和 `SUM()` 作为查询条件。 首先,让我们来看看`COUNT()`函数的用法。在SQL中,`COUNT(*)`通常用来统计表中的行数,而`COUNT(column_name)`则用来统计某一列非...

    SQL语句中SUM与COUNT的区别深入分析

    COUNT 是对查询中符合条件的结果(或记录)的个数 例如: 表fruit id name price 1 apple 3.00 2 pear 4.00 select count(price) from fruit; —-执行之后结果为:2 (表示有2条记录) select sum(price) from ...

    使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解

    总结来说,通过在 `SUM` 和 `COUNT` 函数中使用 `IF` 或 `CASE WHEN` 判断条件,我们可以更加精细化地处理数据,以满足特定的统计需求。这在数据分析和报表生成中非常实用,能够帮助我们获取更有针对性的信息。理解...

    SQL多条件联合查询.txt

    SQL同一个表不同条件两个SUM两个count查询结果一次查询并显示

    SQL 中查询过程FLASH 演示

    本演示将深入探讨SQL中的几个关键查询概念,包括相关查询、不相关查询、集合函数查询、连接查询以及过程。 1. 相关查询与不相关查询: 相关查询是指查询语句中的子查询与外层查询之间存在关联,子查询的结果会直接...

    SQL各种查询方法

    2. **条件查询**:通过`WHERE`子句筛选满足特定条件的数据。例如,`SELECT * FROM 表名 WHERE 条件`。条件可以是等值比较(`=`, `!=`, `, `>`, `, `>=`),也可以是逻辑运算符(`AND`, `OR`, `NOT`)的组合。 3. **...

    SQL 语法 SQL 总结 SQL教程

    SQL count() SQL first() SQL last() SQL max() SQL min() SQL sum() SQL Group By SQL Having SQL ucase() SQL lcase() SQL mid() SQL len() SQL round() SQL now() SQL format() SQL 总结 SQL 快速...

    经典的SQL查询语句,将内容作为字段查询

    当我们谈论“经典的SQL查询语句,将内容作为字段查询”时,我们通常是指在SQL中使用内容作为查询的一部分来检索特定数据。这样的查询对于数据分析师、数据库管理员以及任何需要从大量数据中提取信息的人来说至关重要...

    sqlserver+group by分组查询分页存储过程

    `GROUP BY`子句在SQL查询语言中用于将数据表中的行归类为一组,通常与聚合函数如`COUNT()`, `SUM()`, `AVG()`, `MAX()`, 和 `MIN()` 结合使用,以便对每一组的数据进行统计分析。例如,如果我们有一个销售记录表,并...

    SQL查询语言及应用

    ### SQL查询语言及应用 #### 一、SQL简介 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。它不仅被广泛应用于各种数据库管理系统(DBMS),如MySQL、Oracle、SQL Server等,而且在数据...

    部分普通sql查询在hive中的实现方式

    ### 部分普通SQL查询在Hive中的实现方式 Hive是一款基于Hadoop的数据仓库工具,能够对存储在Hadoop文件系统中的数据集进行数据提取、转换、加载(ETL),这是一种可以简化MapReduce编程的工具。由于Hive的设计初衷...

    SQL Server 2005中的SQL简单查询

    通过以上实验步骤和案例分析,不仅可以加深对SQL Server 2005中SQL查询的理解和应用能力,还能熟练掌握各种查询技巧,包括条件筛选、模式匹配、空值处理、分组统计和排序等。这些技能对于日常数据库管理和数据分析...

    Microsoft SQL Server 2008技术内幕:T-SQL查询_源代码及附录.zip

    书中可能详细介绍了如何使用聚合函数如COUNT、SUM、AVG、MIN和MAX,以及GROUP BY和HAVING子句进行分组和过滤。 2. **连接(JOIN)操作**: SQL Server 2008支持多种类型的JOIN,包括INNER JOIN、LEFT JOIN(OUTER ...

    case when和sum case when 写法及拼接字段

    在 SQL 查询语言中,`CASE WHEN` 结构是一种非常有用的工具,可以用来根据条件返回不同的值。它的工作原理类似于编程语言中的 `if...else` 语句,但在 SQL 中用于创建动态列或进行复杂的条件判断。 #### 基本语法 ...

    sql server 2005 技术内幕t-sql查询源码

    1. **基础查询语句**:这部分内容可能涵盖了SELECT语句的基本用法,包括选择列、表连接、聚合函数(如COUNT、SUM、AVG等)、分组(GROUP BY)和排序(ORDER BY)等。 2. **子查询与联接**:讲解如何使用子查询进行...

    Microsoft SQL Server 2008技术内幕:T-SQL查询.pdf

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》是一本深入探讨SQL Server 2008中T-SQL(Transact-SQL)查询的权威指南。T-SQL是微软SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及...

    sql查询的艺术

    书中以SQL Server数据库为示例,这是一款流行的数据库产品,由微软开发。它提供了完整的数据库平台,可以用于各种规模的应用程序。然而,即使书中主要使用SQL Server作为展示平台,SQL语言的很多核心概念和语法在...

Global site tag (gtag.js) - Google Analytics