SQL中distinct的用法(四种示例分析)
作者:Rain 时间:2024-01-15 17:18:40
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只 用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的,所以浪费了我大量时间。
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。
表A:
示例1
select distinct name from A
执行后结果如下:
示例2
select distinct name, id from A
执行后结果如下:
实际上是根据“name+id”来去重,distinct同时作用在了name和id上,这种方式Access和SQL Server同时支持。
示例3:count统计
select count(distinct name) from A; --表中name去重后的数目, SQL Server支持,而Access不支持
select count(distinct name, id) from A; --SQL Server和Access都不支持
示例4 distinct必须放在开头
select id, distinct name from A; --会提示错误,因为distinct必须放在开头
其他
distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。例如,假如表A有“备注”列,如果想获取distinc name,以及对应的“备注”字段,想直接通过distinct是不可能实现的。
但可以通过其他方法实现关于SQL Server将一列的多行内容拼接成一行的问题讨论
标签:sql,distinct
0
投稿
猜你喜欢
js实现直播点击飘心效果
2024-02-24 18:29:22
Go语言实现登录验证代码案例
2024-05-08 10:24:14
详解python使用turtle库来画一朵花
2021-08-30 14:58:49
Python+django实现文件上传
2022-08-31 20:52:22
python虚拟环境完美部署教程
2021-09-10 17:54:02
order by newid() 各种数据库随机查询的方法
2024-01-19 16:53:14
pandas 选取行和列数据的方法详解
2022-12-29 19:28:58
在ASP处理程序时,进度显示
2008-08-04 13:27:00
python中pandas输出完整、对齐的表格的方法
2021-03-31 11:13:46
Python中输入若干整数以逗号间隔实现统计每个整数出现次数
2021-10-27 22:20:04
最简短的拖动对象js代码实例
2007-10-09 13:33:00
python smtplib模块发送SSL/TLS安全邮件实例
2023-12-18 01:53:09
必须会的SQL语句(五) NULL数据处理和类型转换
2024-01-18 23:40:51
Python四款GUI图形界面库介绍
2023-02-20 20:12:04
MySQL在Windows中net start mysql 启动MySQL服务报错 发生系统错误解决方案
2024-01-12 21:39:42
js判断复选框是否选中及选中个数的实现代码
2024-04-22 22:17:03
2019 Python最新面试题及答案16道题
2022-07-01 03:04:49
JS简单随机数生成方法
2024-04-19 09:56:42
一文读懂python Scrapy爬虫框架
2021-01-31 10:08:31
跟老齐学Python之使用Python操作数据库(1)
2024-01-13 23:56:18