在SQL中使用DISTINCT消除重复行(下)

日期: 2009-05-03 作者:John L. ViescasMichael J. Hernandez翻译:曾少宁 来源:TechTarget中国 英文

这个SELECT语句的结果集明确地显示了我们正在Bowlers表中查找的——每个不同的(或唯一的)城市的单次出现。   我们也可以在多字段上使用DISTINCT关键字。让我们修改一下上面的例子,改为同时查询Bowlers表中的城市和州。那么新的SELECT语句会变成这样: SELECT DISTINCT City, State FROM Bowlers   SELECT语句返回一个结果集,它包含的记录都是独一无二的,并显示了相同名称的城市之间明确的区别。

比如,它显示了“Portland, ME”、“Portland, OR”、“Hollywoo……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

这个SELECT语句的结果集明确地显示了我们正在Bowlers表中查找的——每个不同的(或唯一的)城市的单次出现。

  我们也可以在多字段上使用DISTINCT关键字。让我们修改一下上面的例子,改为同时查询Bowlers表中的城市和州。那么新的SELECT语句会变成这样:


SELECT DISTINCT City, State FROM Bowlers

  SELECT语句返回一个结果集,它包含的记录都是独一无二的,并显示了相同名称的城市之间明确的区别。比如,它显示了“Portland, ME”、“Portland, OR”、“Hollywood, CA”和“Hollywood, FL”之间的区别。值得注意的是,大多数数据系统都会按我们所指定的字段的顺序来排序输出,因此,我们将看到这些排序的值“Portland, ME”、“Portland, OR”、“Hollywood, CA”和“Hollywood, FL”。然而,SQL Standard并没有要求按这个顺序排序结果。如果你想要保证分类排序,那么可以阅读下个部分关于ORDER BY子句的内容。

  在恰当的时候使用DISTINCT关键字是非常有用的。请当你确切想要结果集中的记录行是独一无二时使用它。

  注意:对于包含图形界面的数据库系统,我们通常可以要求查询的结果集是以可更新的网格行和列显示的。我们可以在一行中的一列输入新的值,然后数据库系统会更新表中存储的值。(数据库系统事实上在后台为我们执行一个UPDATE查询——我们可以在第15章“更新数据集”中阅读更多这方面的内容。)

  然而,在所有我们研究的数据库系统中,如果我们使用了DISTINCT关键字,那么结果集的记录行就不能更新。为了更新记录行中的字段,数据库系统必须能够唯一地确定我们想要修改的具体的行和字段。如果使用了DISTINCT,在每个行中所看到的值可能是十几个重复行的估值结果。如果我们尝试更新其中的一个字段,那么数据库将无法获知应该修改哪一行。同时,数据库系统也无法获知是否我们打算将所有的行修改为同一个重复值。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐

  • SQL SELECT语句基础指南

    本专题为QL SELECT语句基础。侧重概述了如何使用SELECT来访问SQL数据库中所有内容以及组成SELECT语句的许多子句名称和功能;同时还阐述了如何使用DISTINCT关键字消除重复的行,以及如何正确使用ORDER BY子句来排序数据。

  • SQL SELECT语句和SELECT查询示例(四)

    下面列出的是示例数据库中的请求语句以及方案查询的名称。你可以练习一下,尝试写出每个请求所需要的SQL,并通过示例中已保存的查询来检查你的答案。

  • SQL Server数据库管理常用SQL和T-SQL语句(下)

    本文继续介绍在SQL Server数据库管理过程中常用的SQL和T-SQL语句:查看数据库里所有的存储过程和函数、查看数据库里用户和进程的信息以及收缩数据库日志文件的方法。

  • SQL Server数据库管理常用SQL和T-SQL语句(上)

    SQL Server数据库管理过程中我们通常会用到哪些常用的SQL和T-SQL语句?文中我们可以了解查看数据库的版本、查看数据库所在机器操作系统参数等一些语句。