【大厂真题】SQL25题解 | 商品交易(网易校招笔试真题)

# 需求分析
# 查找购买个数超过20,
# 质量小于50的商品,
# 按照商品id升序排序

        SELECT a.id,a.name,MAX(a.weight) AS weight,SUM(b.count) as total
        FROM goods a
   LEFT JOIN trans b 
        on a.id=b.goods_id
      group by a.id,a.name
      having   MAX(a.weight)<50
        and SUM(b.count)>20
      order by a.id asc
  1. 先对trans表中每个商品的购买数量的求和。
  2. 将trans表与goods表用商品id进行连接。
  3. 利用where语句进行筛选,并用id进行排序。

复制代码

1

2

3

4

5

6

7

8

9

10

select g.id, g.name, g.weight,a.total

from goods g join (

select t.goods_id, sum(t.count) as total

from trans t

group by t.goods_id

) a

on g.id = a.goods_id

where g.weight < 50

and a.total > 20

order by id

全部评论

相关推荐

10-30 16:31
重庆大学 Java
代码飞升:你说你善于学习,大家都会说。你说你是985,985会替你表达一切
点赞 评论 收藏
分享
面试拷打成m:我感觉他说的挺对的,感觉我找不到工作也要去送外卖了,至少饿不死
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务