no.22 sql 的 group by 坑 面试那些坑——wang

最近一直在求职,好不容易看中了一家非常好的公司,投了简历,隔了2天,该公司总监审核通过,说让hr联系我,由于该公司是某知名民宿公司,为此我专门找出了做了很久的二手房产交易平台的数据和租房数据从新整理了一遍,早早来到该公司附近,不瞒大家说,我12点多就到了那边,而约的面试时间是下午4:30,因为早上面试了一个操盘手公司,那经理面试我全程不到5分钟,说实话,上面写着数据分析师我才去的,我实在是被骗了。
提早到了,正好中午,我随便找了家餐馆,点了个最便宜的菜(真穷)好在这家店有空调,我可以慢慢吃,拿出我之前做的房产项目慢慢看。吃完饭,我转了一圈,愣是没找到个奶茶店,好在机灵,我搜到了附近有一家超级便宜的网咖,于是。。。。。
网吧一股烟味,充了钱,网吧柜台问我吸不吸烟,于是我被带到不吸烟区,就这样,我在网吧蹭了一下午。。。空调,冲了29块钱,还剩39.。。
在这里插入图片描述
再网吧蹭一下午空调还送了一杯奶茶,总共花费1元。

在网吧看了一下午自己的项目和sql笔记 。。。。。

重点来了,4.30 准时到应聘公司,面试官是一位小姐姐,让我先做三道sql 我,轻轻瞥了一眼,心里想,这太简单了。。。(真的做过,但我承认轻敌了。。)

3 题错两 我都不好意思了。。。做完 hr问我感觉如何,
我说,太简单了, hr问我觉得对了几个,我说肯定全对。。。。
哈哈哈哈,我的自信还是有的。。

第二题 删除重复的邮箱号,保留id 最小的。
在这里插入图片描述

三题

员工表
在这里插入图片描述
部门表
在这里插入图片描述

求每个部门最高工资的员工

数据

DROP TABLE  IF EXISTS employee ;
CREATE TABLE employee (Id int ,
Name VARCHAR (11),
salary int,
departmentId int
);

DROP TABLE  IF EXISTS department; 
CREATE TABLE department(id int,
name VARCHAR(11));

INSERT employee VALUES (1,'joe',7000,1),
(2,'henry',8000,2),(3,'sam',6000,2),(4,'max',9000,1);
INSERT  department VALUES (1,'it'),(2,'sales');


DROP TABLE if EXISTS  mails;
CREATE TABLE mails (id int,
mail VARCHAR (25));

INSERT mails VALUES(1,"672377334@qq.com"),(2,"duzhe1024@qq.com"),(3,"672377334@qq.com"),(4,"duzhe1024@qq.com");

答案

# 2
SELECT 


DELETE  FROM mails  
WHERE  id not in (SELECT * FROM (SELECT min(id) FROM mails GROUP BY mail) ids) ;
SELECT * FROM mails;

# 3
SELECT  
department.name department,
e.Name employee,
e.salary 
FROM employee  e,department,
(SELECT departmentId,max(salary) salary FROM employee GROUP BY departmentId) d 
WHERE e.departmentId=d.departmentId 
AND e.salary=d.salary and department.id=e.departmentId ORDER BY salary desc




这是我回家后复盘的做出的 正确答案

面试中当场挂,尴尬的不行!全部死在group by上!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Captain_Data

打赏一下~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值