`
microjava
  • 浏览: 318585 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用distinct无法解决查询其中某个字段不重复记录吗?

阅读更多
下面先来看看例子:

    table
  id name
  1 a
  2 b
  3 c
  4 c
  5 b

库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。

比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。

select distinct name from table
得到的结果是:

  name
  a
  b
  c

好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:

select distinct name, id from table

结果会是:

  id name
  1 a
  2 b
  3 c
  4 c
  5 b

distinct怎么没起作用?作用是起了的,不过他同时作用了两个字段,也就是必须得id与name都相同的才会被排除。。。。。。。

我们再改改查询语句:

select id, distinct name from table

很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能,照样报错。。。。。。。

无法解决吗?做个标记
分享到:
评论

相关推荐

    解析mysql不重复字段值求和

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是...

    MySQL 查询某个字段不重复的所有记录

    在MySQL中,当我们需要查询某个字段不重复的所有记录时,通常会使用`DISTINCT`关键字。然而,`DISTINCT`只能用于去除单个字段的重复值。如果我们要去除多个字段的重复组合,就需要采取更复杂的方法。在提供的描述中...

    如何查出同一张表中字段值重复的记录

    主要内容包括使用三种方法:ROWID、GROUP BY 和 DISTINCT,来查找和删除表中的重复记录。 ### 一、ROWID 方法 #### 1.1 查找重复记录 ROWID 是 Oracle 数据库中用于唯一标识表中每一条记录的一种特殊类型。可以...

    oracle某个字段多行记录转化为一行

    根据提供的信息,本文将详细介绍如何在Oracle数据库中将某个字段的多行记录转换为一行记录的方法。这种方法在处理大量数据时非常有用,特别是在需要将多个值汇总到一个字段中的场景下。 ### 标题理解:“oracle某个...

    使用distinct在mysql中查询多条不重复记录值的解决办法

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是...

    MySQL中distinct语句去查询重复记录及相关的性能讨论

    当查询的数据可能存在重复记录时,使用`DISTINCT`可以帮助我们过滤掉这些重复项,只保留唯一的数据。 在最简单的形式中,`DISTINCT`可以和`*`一起使用,如`SELECT DISTINCT * FROM tableName`,这将返回表`...

    解析mysql中:单表distinct、多表group by查询去除重复记录

    left join 还有效,全连接无效,在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回...

    sql_按照某一个字段进行去重后获取全部字段

    在实际工作中,我们经常会遇到需要对数据表中的记录进行去重的情况,尤其是当某个字段作为唯一标识符时,我们希望能够基于这个字段获取最新的、唯一的或者汇总的数据记录。下面将详细阐述这一知识点。 ### SQL 去重...

    查询重复数据sql语句

    - 当只需要知道是否存在重复数据而不需要具体的重复记录时,可以使用`COUNT(DISTINCT column_name)`。 - 示例:`SELECT COUNT(DISTINCT id) FROM a;` ### 总结 本文详细介绍了如何使用SQL查询表中的重复数据,...

    SQL中distinct的用法(四种示例分析)

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只 用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是...

    Django 解决distinct无法去除重复数据的问题

    今天需要使用Django查询一列的字段(不含重复),搞了一上午,发现这样的事情:如图: 得到的数据几乎是相等的,没有区别。 但是仔细看会发现:下面的数据比起上面的还是少了一个。 解决办法: django的distinct在...

    SQL重复记录查询与删除

    当你想知道某个字段(如`Name`)的重复次数时,可以使用`GROUP BY`和`HAVING`: ```sql Select Name, Count(*) From A Group By Name Having Count(*) > 1 ``` 如果还需考虑另一个字段`sex`,可以这样: ...

    查找删除重复记录

    如果某个字段的计数大于1,则表示存在重复记录。 例如,下面的SQL语句用于查找表`t_info`中标题重复的记录: ```sql SELECT * FROM t_info a WHERE (SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1 ...

    sqlserver中distinct的用法(不重复的记录)

    当我们想要获取不重复的`name`时,可以使用`SELECT DISTINCT name FROM table`来实现。 然而,如果不仅需要不重复的`name`,同时也需要对应的`id`,`DISTINCT`关键字需要应用在整个选择列表上。这意味着`SELECT ...

    MySQL 查询重复内容只显示一条

    4. **删除重复数据**:如果你希望彻底删除重复数据,只保留一条,可以使用`DISTINCT`关键字创建一个新的表,或者使用`DELETE`语句结合子查询。但请注意,删除操作应谨慎进行,以免丢失重要信息。例如: ```sql ...

    经常面试到的SQL题(查询重复数据和清除重复数据)

    如果只是基于某个特定字段(如`email`)去删除重复,我们可能需要修改上面的语句,只考虑那个字段。 在实际应用中,我们还需要考虑索引、事务控制和数据备份,以确保数据完整性和操作的可逆性。在大规模数据处理时...

Global site tag (gtag.js) - Google Analytics