VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3995|回复: 24

一道经典的sql面试题!认为自己sql玩得挺转的进来!

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-2-20 13:30:02 | 显示全部楼层 |阅读模式
学号(自动编号)         姓名      性别        年龄

0001                    xw        男          18

0002                    mc        女          16

0003                    ww        男          21

0004                    xw        男          18

请写出实现如下功能的SQL语句:
删除除了学号(自动编号)字段以外,其它字段都相同的冗余记录!
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-27 22:15:01 | 显示全部楼层
方法一、delete table where  学号(自动编号) not in
(select max(学号(自动编号)) as xh ,         姓名 ,     性别 ,       年龄
  from table
group by 姓名 ,     性别 ,       年龄) A
方法二、
delete table where  学号(自动编号) not in (
select max(a.学号) from table B,(select distinct 姓名 ,     性别 ,       年龄 from table ) A
where A.姓名=b.姓名 and a.性别=b.性别 and a.年龄 = b.年龄
) C

以上方法不知道是否可以,没有在SQL中测试。


回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-4-28 07:15:01 | 显示全部楼层
delete from tablename where 学号(自动编号) notexists (select distinct 姓名,性别,年龄from tablename)
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-28 09:00:01 | 显示全部楼层
up,azuazuazu 正解!
回复

使用道具 举报

0

主题

14

帖子

13.00

积分

新手上路

Rank: 1

积分
13.00
发表于 2020-4-28 14:30:01 | 显示全部楼层
azuazuazu 的,没分清in 和exists啦...

jieslie的思路是正确的,调试后的写法如下:(注意in的子查询只能select出一列)
DELETE FROM table1
WHERE (学号 NOT IN
          (SELECT MAX(学号) AS xh
         FROM TABLE1
         GROUP BY 姓名, 性别, 年龄))
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-29 21:45:01 | 显示全部楼层
楼上正解
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-5-1 09:30:02 | 显示全部楼层
有什么可经典的?
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-5-2 05:00:01 | 显示全部楼层
基础而已.
回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-5-6 09:30:01 | 显示全部楼层
DELETE FROM Test2
where [学号] in
(select [学号]=min([学号]) from Test2 group by [姓名],[性别],[年龄] having count(*)>1)

回复

使用道具 举报

0

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-5-21 22:00:01 | 显示全部楼层
kcactus

这个肯定没问题呵呵。思路很明朗。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表