`
snowboy886
  • 浏览: 36332 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

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

    博客分类:
  • SQL
sql 
阅读更多
在开发时,我们经常会遇到以“累计(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函数中使用if判断条件:{ sum( IF (order_type = 0, real_price, 0) ) AS '当天支付收入', sum( IF (order_type = 1, real_price, 0) ) AS '当天打赏收入', } count(DISTINCT open_id) AS '付费总人数', count

    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查询在hive中的实现方式

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

    SQL查询语言及应用

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

    SQL Server 2005中的SQL简单查询

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

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    #### 知识点二:SQL SUM聚合函数与Access中的SUM及COUNT函数 在SQL和Access中,`SUM`和`COUNT`都是常见的聚合函数,用于计算表中的数据总和或记录数量。 **SQL SUM示例:** ```sql SELECT SUM(column_name) FROM ...

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

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

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

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

    SQL高级实例-模糊查询-分组随机查询-转换

    本资源包"SQL高级实例-模糊查询-分组随机查询-转换"聚焦于SQL的一些关键特性,旨在提升你在实际工作中的查询效率和数据处理能力。让我们逐一探讨这些主题。 首先,**模糊查询**是SQL中用于处理不精确或部分匹配搜索...

    Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询.part1

    通过阅读《Microsoft SQL Server 2005技术内幕:T-SQL查询》的这部分内容,读者可以掌握T-SQL查询的全面知识,从而在SQL Server 2005环境中编写出高效、灵活且可靠的数据库查询,为企业的数据管理提供坚实的技术支持...

Global site tag (gtag.js) - Google Analytics