`
sunwch
  • 浏览: 164521 次
  • 性别: Icon_minigender_1
  • 来自: free-town
社区版块
存档分类
最新评论

SQL 字段重复值

阅读更多
  • 很久没有学习的劲头了,今天参加一公司的面试,结果问到了这么一个SQL题,也就是给定一个表,需要查找出里面有重复记录的数据记录项。开题之前先谈谈这公司的面试过程,约的是10点到,结果10:20到的,一看大楼觉得还可以,在保安处登记以后走到会客厅等待接待人员来带到面试的地方,开始还是老样子首先是答题,说一个小时,结果应该不到半个小时题就答好了。然后在填填登记表,之后一起把这些东西交给面试的技术(答题之前我问了一句给我试题那哥们说做好以后给谁,哥们用手指头指了指)。接下来就是技术面试了,开始介绍一下自己的工作和参加过的项目,因为之前的项目多是用的SSI的架构(struts1),问了个大概,然后说缓存方面呢,我说memcache,然后叫我谈谈了它的工作机制以及内存分配模型(内存分配模型方面答得不是很好)技术面试的过程中struts1的实现机制和spring aop ioc问得比较多。技术大概面了有40分钟,哥们一看12多了,就叫我下午两点在去,结果我就直接去吃了顿饭,大概2点的时候又来到这公司,直接联系了那哥们(走之前跟我留了个电话说来之后直接打他电话),之后哥们带我到了人事部,然后也是一很2的哥们,问了一些问题说自我介绍3分钟,结果一分钟不到,哥们说三分钟一分钟不到呀,你叫怎么了解你(简历没带上),我想不就面试吗,人事不就谈个工资问问一些以前工作情况吗?然后后来又问了一些问题,说我感觉不配合他的样子,我说没有呀,说实话这些天人的状态确实感觉有点疲惫的样子,其实在这个环节我已经决定放弃这份工作了,最后谈到薪资方面,我说已经写在登记表上了,他估计看了一下说如果假如这边提供一个好的发展环境愿意降低你的薪资吗,我说这个也是根据自己的能力和这边的消费水平来定的不能少。结果哥们来了一句既然到这了就没有必要谈了,我心里在想你TMD SB是招人还是干什么呀?没看到简历上写的薪资呀,谁叫你们打电话叫我面试呀。说了一堆废话,还是说下这个SQL题:


  • mysql> create database on_demand
        -> ;
    Query OK, 1 row affected (0.01 sec)

    mysql> use on_demand;
    Database changed
    mysql> show tables;
    Empty set (0.00 sec)
    mysql> create table get_repeat(id int not null auto_increment,name varchar(10),p
    rimary key(id));
    Query OK, 0 rows affected (0.09 sec)
    mysql> show tables;
    +---------------------+
    | Tables_in_on_demand |
    +---------------------+
    | get_repeat          |
    +---------------------+
    1 row in set (0.02 sec)
    mysql> insert into get_repeat (name) values ("Li");
    Query OK, 1 row affected (0.06 sec)

    mysql> insert into get_repeat (name) values ("Li");
    Query OK, 1 row affected (0.05 sec)

    mysql> insert into get_repeat (name) values ("zhang");
    Query OK, 1 row affected (0.01 sec)

    mysql>
    mysql> insert into get_repeat (name) values ("zhang");
    Query OK, 1 row affected (0.03 sec)

    mysql> insert into get_repeat (name) values ("wei");
    Query OK, 1 row affected (0.03 sec)

    mysql> insert into get_repeat (name) values ("liu");
    Query OK, 1 row affected (0.03 sec)

    mysql> select * from get_repeat;
    +----+-------+
    | id | name  |
    +----+-------+
    |  1 | Li    |
    |  2 | Li    |
    |  3 | zhang |
    |  4 | zhang |
    |  5 | wei   |
    |  6 | liu   |
    +----+-------+
    6 rows in set (0.00 sec)


    以下是获取重复记录的SQL(方法应该比较多,就写了一种传统写法):
    mysql> select * from get_repeat where name in (select name from get_repeat group
    by name having count(name)>=2);
    +----+-------+
    | id | name  |
    +----+-------+
    |  1 | Li    |
    |  2 | Li    |
    |  3 | zhang |
    |  4 | zhang |
    +----+-------+
    4 rows in set (0.00 sec)


分享到:
评论

相关推荐

    SQL排除重复结果只取字段最大值分享

    如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条)。 代码如下:select * from [Sheet1$] awhere ID not exists (select 1 from [Sheet1$] where PID=a.PID and...

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    sql 查出一张表中重复的所有记录数据 1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2、...

    解析mysql不重复字段值求和

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

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

    sql语句:按照某一个字段进行去重后获取全部字段。

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

    表中的记录随着增多,有些字段的数据会重复,这各可以帮你找出重复的数据

    SQL Server允许重复空字段不空字段值唯一

    GO 解决方案1: 对于这个问题,大家的第一个想法可能是:在Caption这个字段上面加一个唯一键不就可以了吗?好,我们按着这个思路做下去,先创建唯一索引。 代码如下: CREATE UNIQUE NONCLUSTERED INDEX un_test_tb ...

    SQL语句查询数据库中重复记录的个数

    代码如下:select a,b,c,count(*) from (select c.a,c.b,c.c from test c) having count(*) >= 2 group by a,b,c 或者 代码如下:select zdbh,... 您可能感兴趣的文章:用SQL语句查询数据库中某一字段下相同值的记录方法

    SQL 合并多行记录的相同字段值

    有时候会遇到这种情况,数据库查询返回多行记录,且每行记录由另外符合条件的多条记录内容合并,遇到这种情况,我们可以选择下面两种方式

    用SQL语句查询数据库中某一字段下相同值的记录方法

     以上问题实际上就是查询数据库表中某一字段值重复的记录,这里省略如何将Excel表导入到数据库步骤,只讨论用SQL查询数据库中某一字段下相同值的记录方法。 现在假设数据库表名为student,里面有字段Sno(学号),ID...

    SQL语句常用汇总

    注意:单双引号的用法可能有误(没有测式) <br>Sql = "Select Distinct 字段名 From 数据表" Distinct函数,查询数据库存表内不重复的记录 <br>Sql = "Select Count(*) From 数据表 where 字段名1>#18:0:...

    sqlserver中重复数据值只取一条的sql语句

    sqlserver中有时候我们需要获取多条重复数据的一条,需要的朋友可以参考下面的语句

    MYSQL常用命令大全

    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )] 例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,...

    经典SQL脚本大全

    │ │ 3.7.3 text与ntext字段的复制和合并处理示例.sql │ │ 3.7.4 text与image字段转换处理示例.sql │ │ 3.7.5 ntext字段的REPLACE处理示例.sql │ │ │ └─其他 │ varbinary转换成字符串.sql │ 关键字搜索...

    Mysql中 unique列插入重复值该怎么解决呢

    本文给大家介绍mysql中unique列插入重复值的解决方案,主要基于mysql平台,通过这些,可以做到一些新的功能和应用。特此把本文本文分享给广大开发人员

    sql server经典面试题

    1、 有一个表A有1000行记录,查询...7 写一条sql语句,要修改一个字段的俩个值,比如把字段sex中的男改为女,女改为男 8 SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 10 通用分页存储过程

    sqlserver数据库著名上级面试题目

    经典数据库上机面试题目...(7) 写一条sql语句,要修改一个字段的俩个值,比如把字段sex中的男改为女,女改为男 (8)SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 (9)通用分页存储过程

    SQL Server数据库查询速度慢原因及优化方法

    索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段。 5、提高网速。 6、扩大服务器的内存,Windows 2000和SQL server 2000能支持4-8G的内存。 配置...

Global site tag (gtag.js) - Google Analytics