【高频SQL题目】1907.按分类统计薪水

题目:

自己搜一下。在lecode上。

解题思路:

因为我看到,这里的分组好像和之前用的group by 不太一样,group by 是根据某一栏分组,但是现在,这些栏都不存在。

对不存在的栏(即分组的结果,不在原表格里),应该怎么做?

用case when和sum。

然后union联结起来多个独立的查询结果

-- 看了一眼答案 用的case when.但是我没写出来。这里的错误在于,没有给category字段赋值,以及 case when 计数写得不对

select

case when sum(income <20000) as accounts_count  then

when then sum(income>=20000 and income<=50000) as accounts_count

else accounts_count

 end  from Account

-- 仍然不对。这里的错误在于,把case when 和if 搞错了(羞羞)

select 'Low Salary' AS category,sum(case when income <20000 ,1,0)  from Account

case when 和sum 的连用。

sum (case when 条件 then 1 else 0 end ) 

这样可以找到满足条件的数据的个数。

参考答案:

select

'Low Salary' AS category,

sum(case when income <20000 then 1 else 0 end ) as accounts_count

 from Accounts

 union

 select

 'Average Salary' AS category,

sum(case when income >=20000 and income <= 50000 then 1 else 0 end ) as accounts_count

 from Accounts

  union

  select

 'High Salary' AS category,

sum(case when income >50000 and income then 1 else 0 end ) as accounts_count

 from Accounts

<think>好的,用户想获取艾宾信息技术有限公司的计算机相关笔试题或准备资料。首先,我需要查看提供的三个引用内容,看看有没有直接提到笔试题的信息。引用1、2、3主要讲的是公司招聘的信息,特别是技术栈和岗位要求。比如引用2和3提到需要了解常用的Web开发技术,如Java、Spring、Hibernate、JavaScript等,这可能暗示笔试题可能涉及这些技术。 接下来,用户的问题可能需要推测,因为引用中没有直接给出笔试题。所以需要根据常见的IT公司笔试内容来给出建议。通常,笔试会包括数据结构与算法、编程语言基础、数据库、Web开发技术、系统设计等。结合引用中提到的技术栈,比如Java和Web相关框架,可能这些方面会是重点。 然后,需要确保回答的结构清晰,分点说明,并给出具体的准备建议,比如推荐学习资源或常见题型。同时,要提醒用户注意公司具体的技术要求,建议参考招聘信息中的技术栈。此外,引用中提到ABeam在中国有多个分公司,可能需要用户关注不同分公司的招聘信息是否有差异。 另外,用户可能需要实际例题,但由于没有公开的题目,只能提供常见的题型示例,如算法题、Java基础题、数据库查询等。最后,建议用户通过Glassdoor或应届生论坛查找经验分享,或者联系HR获取更多信息,确保回答真实可靠。</think>关于艾宾信息技术有限公司的计算机相关笔试题准备,根据公开招聘信息和技术要求[^2][^3],建议从以下方向重点准备: ### 一、技术考察方向 1. **数据结构与算法** - 常见题型:数组操作(如$O(1)$空间复杂度的去重)、链表反转、二叉树遍历 - 高频考点:快速排序时间复杂度分析(平均$O(n\log n)$,最坏$O(n^2)$) ```python # 示例:二叉树前序遍历 def preorder(root): return [root.val] + preorder(root.left) + preorder(root.right) if root else [] ``` 2. **Web开发技术栈** - 必考框架:Spring Boot依赖注入原理、Hibernate缓存机制 - 典型问题:解释JQuery选择器$('#id').hide()与AngularJS双向绑定的实现差异 3. **数据库与SQL** - 重点:事务ACID特性、索引优化 - 例题:编写查询各部门最高薪水SQL语句 ```sql SELECT department_id, MAX(salary) FROM employees GROUP BY department_id; ``` ### 二、准备建议 1. **算法强化** - 建议完成LeetCode热题100中的链表/树相关题目(如#206反转链表) - 掌握动态规划经典问题(背包问题,状态转移方程如$dp[i][j] = max(dp[i-1][j], dp[i-1][j-w_i]+v_i)$) 2. **框架原理理解** - Spring AOP实现原理(JDK动态代理与CGLIB区别) - Hibernate懒加载异常解决方案(使用OpenSessionInView模式) 3. **系统设计基础** - 设计短链接生成系统时需考虑哈希算法选择(如Base62编码$S=\log_{62}(N)$长度控制) ### 三、附加资源 - 参考《剑指Offer》编程题解 - 查阅公司技术博客(如有)了解内部技术栈偏向 - 通过Glassdoor等平台获取往届应聘者经验分享
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员大雨

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值