SQL中distinc的使用方法

77次阅读
没有评论

共计 1110 个字符,预计需要花费 3 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 SQL 中 distinc 的使用方法的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

distinct 这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct 只能返回它的目标字段,而无法返回其它字段,接下来通过本篇文章给大家分享 SQL 中 distinct 的用法,需要的朋友可以参考下

在使用 mysql 时,有时需要查询出某个字段不重复的记录,虽然 mysql 提供有 distinct 这个关键字来过滤掉多余的重复记录只保留一条,但往往只 用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct 只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰很久,用 distinct 不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的,所以浪费了我大量时间。

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct 用于返回唯一不同的值。

表 A:

SQL 中 distinc 的使用方法

示例 1

代码如下:

select distinct name from A

执行后结果如下:

SQL 中 distinc 的使用方法

示例 2

代码如下:

select distinct name, id from A

执行后结果如下:

SQL 中 distinc 的使用方法

实际上是根据“name+id”来去重,distinct 同时作用在了 name 和 id 上,这种方式 Access 和 SQL Server 同时支持。

示例 3:统计

代码如下:

select count(distinct name) from A; -- 表中 name 去重后的数目, SQL Server 支持,而 Access 不支持
select count(distinct name, id) from A; --SQL Server 和 Access 都不支持 

示例 4

代码如下:

select id, distinct name from A; -- 会提示错误,因为 distinct 必须放在开头 

其他

distinct 语句中 select 显示的字段只能是 distinct 指定的字段,其他字段是不可能出现的。例如,假如表 A 有“备注”列,如果想获取 distinc name,以及对应的“备注”字段,想直接通过 distinct 是不可能实现的。

感谢各位的阅读!关于“SQL 中 distinc 的使用方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计1110字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)