group by 和 distinct 的区别
SELECT
fs.card_id,
fs. NAME,
fs.email,
fs.phone_num,
fs.weixin_num,
fs.permission,
fs.open_id
FROM
fs_card fs
WHERE
fs.open_id IS NOT NULL
GROUP BY fs.name //group by 是 按照 name 进行分组 , 结果显示名字不重复的一组数据。如果存在两条名字相同的数据,则只取出第一条数据。
SELECT
fs.card_id,
fs. NAME,
fs.email,
fs.phone_num,
fs.weixin_num,
fs.permission,
fs.open_id
FROM
fs_card fs
WHERE
fs.open_id IS NOT NULL
GROUP BY fs.name having COUNT(fs.card_id)= 1 //加上count (fs.card_id)=1 条件后会把 具有相同名字的数据 去除(默认这两条数据的card_id 不同)
SELECT
fs.card_id,
fs. NAME,
fs.email,
fs.phone_num,
fs.weixin_num,
fs.permission,
fs.open_id
FROM
fs_card fs
WHERE
fs.open_id IS NOT NULL
GROUP BY fs.name having COUNT(fs.card_id)>= 1 //查询结果和 不加 having 条件 相同。
SELECT distinct
fs.card_id,
fs. NAME,
fs.email,
fs.phone_num,
fs.weixin_num,
fs.permission,
fs.open_id
FROM
fs_card fs
WHERE
fs.open_id IS NOT NULL
GROUP BY fs.name having COUNT(fs.card_id)= 1 //distinct 的作用域是 所有的查询字段, 是对 该条查询结果数据 进行 去重复(比较的是结果集,即每条记录),而不是对某个字段。如果上面的名字相同的两条数据如果有查询的某个字段不同,则按照不同结果处理
group by 和 distinct 的区别的更多相关文章
- sql左外连接、右外连接、group by、distinct(区别)、intersect(交叉)、通配符、having
连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行. 连接可分为以下几类 ...
- hive里的group by和distinct
hive里的group by和distinct 前言 今天才明确知道group by实际上还是有去重读作用的,其实细想一下,按照xx分类,肯定相同的就算是一类了,也就相当于去重来,详细的看一下. gr ...
- group by和distinct语句的执行顺序
同一条语句之中,如果同时有group by和distinct语句,是先group by后distinct,还是先distinct后group by呢? 先说结论:先group by后distinct. ...
- MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用
在统计查询中,经常会用到count函数,这里是基础的 MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用 -- 创建表 CREATE TABLE `tb ...
- HIVE点滴:group by和distinct语句的执行顺序
同一条语句之中,如果同时有group by和distinct语句,是先group by后distinct,还是先distinct后group by呢? 先说结论:先group by后distinct. ...
- MySQL中Group By,distinct使用注意事项
mysql> select * from test; +----+-------+------+-------+ | id | name | age | class | +----+------ ...
- group by 替代distinct
SQL> select distinct employee_id,first_name from test1; 107 rows selected. Execution Plan ------- ...
- 标量子查询优化(用group by 代替distinct)
标量子查询优化 当使用另外一个SELECT 语句来产生结果中的一列的值的时候,这个查询必须只能返回一行一列的值.这种类型的子查询被称为标量子查询 在某些情况下可以进行优化以减少标量子查询的重复执行,但 ...
- group by 和 distinct 去重比较
distinct方式就是两两对比,需要遍历整个表.group by分组类似先建立索引再查索引,所以两者对比,小表destinct快,不用建索引.大表group by快.一般来说小表就算建索引,也不会慢 ...
随机推荐
- Mysql-事务,原子性操作
事物分为 自动(默认的)和手动(需开启事务)两种 -- 事务 start transaction; -- commite; 提交事务 -- rollback; 回滚事务 create table if ...
- 《GPU高性能编程CUDA实战》附录二 散列表
▶ 使用CPU和GPU分别实现散列表 ● CPU方法 #include <stdio.h> #include <time.h> #include "cuda_runt ...
- 返回标签数据示例 (PHP)
标签接口函数 获取标签数据 array uc_tag_get(string tagname [, array nums]) 函数参数 参数 含义 string tagname 标签名称 array n ...
- docker使用笔记1
rhel6安装 yum -y install docker-io ################################################ 进入容器命令 docker exec ...
- 33. Linux安装配置JDK-7
安装说明 系统环境:centos-6.3安装方式:rpm安装 软件:jdk-7-linux-x64.rpm下载地址:http://www.oracle.com/technetwork/java/jav ...
- leetcode754
class Solution { public: int reachNumber(int target) { // 理解这题的意思 这题就好做了 // 分析 首先考虑一种比较极端的情况 即一直向正方向 ...
- leetcode504
public class Solution { public string ConvertToBase7(int num) { ? "" : "-"; var ...
- ubuntu sudo apt-get upgrade 和 sudo apt-get dist-upgrade区别
sudo apt-get upgrade: 不会对系统产生重大的影响,可以在任何时候运行. sudo apt-get dist-upgrade: 涉及核心的升级,通常会对系统功能产生实际的影响,可能在 ...
- ubuntu 安装u盘恢复
XP下进入CMD命令窗体,Vista及7/8下右键以管理员方式运行DOS窗体(win8.1:开始屏幕-windows系统-命令提示符) 输入DISKPART,会显示计算机名,及DISKPART> ...
- spring cloud 消费者
本消费者 加了 Hystrix, 为了后续监控用. 1. 依赖: <parent> <groupId>org.springframework.boot</groupId ...