共计 945 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
今天就跟大家聊聊有关 SQL 中 distinct 如何使用,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
在使用 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 中 distinct 如何使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。
向 AI 问一下细节