共计 1110 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章给大家分享的是有关 SQL 中 distinc 的使用方法的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
distinct 这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct 只能返回它的目标字段,而无法返回其它字段,接下来通过本篇文章给大家分享 SQL 中 distinct 的用法,需要的朋友可以参考下
在使用 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:统计
代码如下:
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 问一下细节