题解 | #查询被投递过的职位信息#

查询被投递过的职位信息

https://www.nowcoder.com/practice/b4e9b51872b7473e8e906bcd25948859

看了下这道题确实有瑕疵,直接星就能过,不过还是按照题意做了,这道题目考察的是表连接的概念和using的用法。1 左右连接和内连接这些连接的核心是去空值,如果左表只有两个数据:那么左连接就是左边没有空值,但是也一个都不会少,右表可以有空值,也会删掉左边为空值的部分 右连接反之 2 using 关键字使用后会自动合并对应字段为一个​答案:

select  *

from job_info a right join

 (select job_id 

from

    (select job_id,user_id,count(resume_if_checked) cnt

from deliver_record s

group by job_id,user_id

havingcount(resume_if_checked)>=1) d) e

using(job_id)

全部评论
太复杂!
3 回复 分享
发布于 2022-12-04 10:43 上海
懒得看,子查询能少用尽量少用。 select j.company_id,sum(d.resume_if_checked) cnt from job_info j left join deliver_record d on j.job_id = d.job_id where d.resume_if_checked = 1 group by j.company_id order by j.company_id
1 回复 分享
发布于 2023-01-31 17:18 北京
第8行不能用count(),应该用sum(),因为resume_if_checked列的数据是0 or 1,使用count()的话,1 or 0都会被识别为1条数据,这和题意不符。如果要按照题意过滤掉查看数为0的公司,应该用sum()来计算查看数。
点赞 回复 分享
发布于 2023-02-01 15:57 北京

相关推荐

03-26 15:18
已编辑
华北水利水电大学 Java
点赞 评论 收藏
分享
群星之怒:不是哥们,你就不好奇瘫痪三十年的老植物人是啥样的吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务