group by 和 distinct 的区别
2024-10-12 01:50:59
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 的作用域是 所有的查询字段, 是对 该条查询结果数据 进行 去重复(比较的是结果集,即每条记录),而不是对某个字段。如果上面的名字相同的两条数据如果有查询的某个字段不同,则按照不同结果处理
最新文章
- AES加密
- jQuery--事件总结
- Sentinel-Redis高可用方案(二):主从切换
- [转]Win7下安装配置sharepoint server 2010
- :Hibernate逍遥游记-第16管理session和实现对话
- C++调用matlab实例
- light开发框架
- JSP/Servlet线程安全
- IOS9中联系人对象的使用及增删改查操作的函数封装
- HTML <;div>; 和<;span>;
- 201521123040《Java程序设计》第2周学习总结
- Python学习笔记(十)
- java9 - 异常处理
- React 思维索引
- react-native 之gradle-2.x-all.zip 下载缓慢或失败
- CSS| 框模型-padding
- InnoDB中锁的模式,锁的查看,算法
- Linux使用sshfs挂载远程目录到本地
- BZOJ1407: [Noi2002]Savage exgcd
- 杂项:GIT (分布式版本控制系统)