新浪数据分析笔试第二道编程题求解答

新浪数据分析笔试编程第二题,怎么都想不通哇,跪求大佬解答!
题目要求在2018年7月7日的三十岁及以下的男性阅读财经新闻大于1条并且在2018年7月8日有阅读的人数
不是20180707并财经并男性并三十岁及以下然后group by uid后count > 1再取20180708阅读用户的交集吗?
select count(distinct newT.xx)
from ( (select distinct A.uid as xx
from user_read A join user_info B
on A.uid = B.uid
where A.dt = '20180707' and A.newsarea = '财经'
and B.age <= 30 and B.gender='男'
group by A.uid
having count(newsid) > 1) temp1
join (select distinct A1.uid as xx
from user_read A1 join user_info B1
on A1.uid = B1.uid
where A1.dt = '20180708') temp2 on temp1.xx = temp2.xx) as newT
#新浪##数据分析师##笔试题目#
全部评论
把输出改成 uid 就对了。。
点赞 回复 分享
发布于 2018-09-15 23:10
同问。。。换了100种方法都没有通过好气啊。。。
点赞 回复 分享
发布于 2018-09-15 23:09
having count(newsid) > 1, 你这里newsid没写来源的表,其他的我再看看。。。
点赞 回复 分享
发布于 2018-09-15 23:20
年龄不是varchar类型的么,我还cast转int了
点赞 回复 分享
发布于 2018-09-15 23:24
count删掉就对了,心累。
点赞 回复 分享
发布于 2018-09-15 23:44
我得总是报语法或者数据访问越组的问题,我也没看出来哪儿错了
点赞 回复 分享
发布于 2018-09-16 10:36
感觉自己写的没毛病,总是报错
点赞 回复 分享
发布于 2018-09-16 16:35

相关推荐

想润的芹菜人狠话不多:把其中一个老总放中间都会得罪另一个
点赞 评论 收藏
分享
点赞 25 评论
分享
牛客网
牛客企业服务