http://m.jb51.net/article/39302.htm

可以这样去理解group by和聚合函数

http://www.cnblogs.com/wuguanglei/p/4229938.html

聚合函数,聚合函数就用来输入多个数据,输出一个数据的

select ··· from ···
where ···(只能对分组前的属性进行筛选)
group by ···
having ···(只能对分组后的每个组的整体属性进行筛选,用聚合函数体现)
····
--不使用group by就默认表的整体为一组

HAVING 只能与 SELECT 语句一起使用。
HAVING 通常在 GROUP BY 子句中使用。
如果不使用 GROUP BY 子句,则 HAVING 的行为与 WHERE 子句一样。

建议你先看看SQLServer技术内幕T-SQL查询,第一章就告诉你SELECT的语句,ON/WHERE/HAVING是3个筛选条件,ON最先、where其次,having最后(前提是都出现了)。如果出现了group by 就一定要在group by后面,不过还是看看书,让书来告诉你吧。

第一次筛选用where,紧接着group by 分组,再次筛选则用having
eg:查询选课在三门以上且各门课程均及格的学生的学号及其总成绩,查询结果按总成绩降序列出。
程序清单如下:
SELECT SNO,SUM(SCORE) AS TotalScore 
FROM SC
WHERE SCORE>=60
GROUP BY SNO
HAVING COUNT(*)>=3
ORDER BY SUM(SCORE) DESC

mysql运用groupby查询用户表,不同的IP的个数,并且有二次登陆的有效用户

SELECT member_username,member_join_ip,member_join_time,member_last_time,count(*) as ct
FROM `oss_member` GROUP BY member_join_ip HAVING member_last_time>member_join_time

mysql having,group by查询去除重复记录的更多相关文章

  1. sql 单表distinct/多表group by查询去除重复记录

    单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 下面先来看看例子: table   id name   1 a   2 b   ...

  2. sql 单表/多表查询去除重复记录

    单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 *************************************** ...

  3. SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。

    top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 orde ...

  4. SQL去除重复记录

    SQL去除重复记录 if not object_id('Tempdb..#T') is null     drop table #T Go Create table #T([ID] int,[Name ...

  5. Datatable 中的数据查询(查询不重复记录)

    http://blog.csdn.net/lovexiaoxiao/article/details/3734932 //在sql中我们使用distinct查询不重复记录    //然而我在项目中表关系 ...

  6. sql语句去除重复记录(多表连接的查询)

    --处理表重复记录(查询和删除) /********************************************************************************** ...

  7. mysql去除重复记录案例

    例1,表中有主键(可唯一标识的字段),且该字段为数字类型 1 测试数据 /* 表结构 */ DROP TABLE IF EXISTS `t1`; CREATE TABLE IF NOT EXISTS ...

  8. MySQL数据库如何去掉数据库中重复记录

    对于常规的MySQL数据表中可能存在重复的数据,有些情况是允许重复数据的存在,有些情况是不允许的,这个时候我们就需要查找并删除这些重复数据,以下是具体的处理方法! 方法一:防止表中出现重复数据 当表中 ...

  9. 删除Mysql数据表中多余的重复记录的sql语句

    数据表 sniper_tb 中存在主键 id,字段url,现需要在url字段上添加 unique,但由于url存在重复记录,导致添加失败. 如何删除表中多余的url重复记录,仅保持一条? 思路一 将 ...

随机推荐

  1. Core Java 5

    p273~p276: 1.获取异常的更多信息:e.getMessage(). 2.得到异常的实际类型:e.getClass().getName(). 3.当异常之间不存在子类关系,并且异常的处理机制( ...

  2. 如何运行.ipynb文件

    首先cmd下面输入: pip install jupyter notebook ,安装慢的改下pip的源为国内的源 然后cmd中输入: jupyter notebook就会弹出一个页面 先upload ...

  3. Android 开机Process xxx (pid xxxx) has died问题分析

    系统中有一个监听BOOT_COMPLETED广播的自启应用,概率性出现启动后被kill掉的现象.Log如下: - :: I ActivityManager: Process com.test.xxx ...

  4. Rsync+sersync实现实时同步

    介绍: sersync主要用于服务器同步,web镜像等功能.基于boost1.43.0,inotify api,rsync command.开发.目前使用的比较多的同步解决方案是inotify-too ...

  5. 【javascript】数据结构-队列

    <!DOCTYPE html> <html> <head> <title>queue</title> <meta charset=&q ...

  6. cuda8.0 出错:/usr/bin/ld: 找不到 -lGL【转】

    本文转自:https://blog.csdn.net/u010159842/article/details/56833030 最近在学习深度学习,在搭建CUDA8.0的时候,出现一个非常不好的问题: ...

  7. 【软件位置】Linux查看软件安装的位置

    如果我们在Linux 系统上安装了某个软件,我们可以通过如下的三种方式来确定. 一.        Which 命令 Shell 的which 命令可以找出相关命令是否已经在搜索路径中. 如: [ro ...

  8. cf 429 B Working out

    B. Working out time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  9. ThinkPHP 表单自动验证运用

    使用TP 3.2框架 public function add_post(){ //验证规则 $rule=array( array('name','require','请输入姓名',1),//必须验证n ...

  10. postgres10.2时区研究

    搭建两个虚拟环境,操作系统均是cents7. 环境A: 使用timedatectl命令查看时区为 Time zone: Asia/Shanghai (CST, +0800). 本地数据库时区(show ...