#SQL#SQL题求助#数据分析笔试


需要从sell_information表中查找每个用户在每个国家的消费订单数,如果没有则为0,求问这个题怎么解#sql##SQL面试##数据分析面试#
全部评论
select a.name_id,a.order_country,ifnull(b.cnt,0) as  order_counts from sell_information  a left join (select name_id,order_country,count(order_id)   cnt from sell_information  group by name_id,order_country) b on a.name_id=b.name_id and a.order_country=b.order_country 首先就是查找每个用户每个国家的消费订单数,也就是得到表b(因为目前表b是不含订单为0的国家的),然后再让原表进行左连接,左连接的目的就是保留原有的国家,连接之后的新表就含有每个国家了,然后再用ifnull函数将这些没有订单数的国家的订单数量变成0.
1 回复 分享
发布于 2022-08-11 21:47
SELECT c.name_id, c.order_county, IFNULL(d.count,0) AS count FROM  ( SELECT a.id, a.name_id, b.order_county FROM (SELECT a.name_id, 1 AS id FROM zty_info AS a GROUP BY a.name_id) AS a LEFT JOIN  ( SELECT b.order_county, 1 AS id FROM zty_info AS b GROUP BY b.order_county ) AS b  ON a.id=b.id  )  AS c  LEFT JOIN  ( SELECT e.name_id, e.order_county, COUNT(*) AS count FROM zty_info AS e GROUP BY e.name_id,e.order_county ) AS d ON c.name_id=d.name_id AND c.order_county=d.order_county 数据顺序自己最后重新排序就行
2 回复 分享
发布于 2022-08-15 23:09
思路:t1 , t2 产生笛卡尔积得到每一个人对应每一个国家,然后把t3表左连接再配合IFNULL即可 SELECT t1.name_id      , t2.order_county      , IFNULL(num,0) AS order_counts FROM     (     SELECT DISTINCT name_id     FROM sell_information     ) t1 JOIN     (     SELECT DISTINCT order_county     FROM sell_information     ) t2 LEFT JOIN     (     SELECT name_id , order_county , COUNT(order_id) AS 'num&(30597)#39;     FROM sell_information     GROUP BY name_id , order_county     ) t3 ON t3.name_id = t1.name_id AND t3.order_county = t2.order_county ORDER BY name_id,order_county;
1 回复 分享
发布于 2022-08-16 19:25
这是哪家的笔试
点赞 回复 分享
发布于 2022-08-06 10:28

相关推荐

12-01 12:34
已编辑
广东工业大学 Java
如题,fw🐭🐭,加上准备的太晚,大三上已找不到日常实习,导致连锁反应,下学期的暑期实习找不到好的实习,导致秋招找不到中大厂,现在是中小厂Java还有考公的选择,由于有些中小厂工作强度比肩大厂,钱还少,感觉不如考公如果🐮u们是我现在这种情况,会怎么选?
负债的混子:关注你一段时间了,突然发现你头像名字都改了,想必是这段时间压力很大。关于就业还是考公的选择,就像很多牛友说的:不要美化自己没走过的路。你现在想往互联网发展,发现这条路很难走,然后想往考公发展,但是你没走过考公这条路,所以你不知道这条路的压力如何。你今年大三了,还有时间给你做选择,我希望你能够尽快的决定自己的方向,然后一条路走到黑,而不是在这里徘徊,每个人的道路是不一样的,你无法复刻别人的路,你能做的就是尽力的完善自己。 最后,我想说的是,加油,陌生人!
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
14
分享
牛客网
牛客企业服务