zoukankan      html  css  js  c++  java
  • LeetCode 【困难】数据库-第1159:市场分析|| yes -no (Case when ‘分类’ )=if的使用

    题目

    表结构

    数据

    结果

    解答:

    1.连接表,查看按日期顺序卖出的产品都有哪些

    
    select orders.seller_id,
    			 orders.order_date,
    			 orders.item_id,
    			 items.item_id item_ids,
    			 item_brand,row_number() over(partition by seller_id order by order_date) as rk
    from Orders 
    join Items
    on Orders.item_id=Items.item_id
    

    1.1 看第二件

    select *
    from(
    
    select orders.seller_id,
    			 orders.order_date,
    			 orders.item_id,
    			 items.item_id item_ids,
    			 item_brand,row_number() over(partition by seller_id order by order_date) as rk
    from Orders 
    join Items
    on Orders.item_id=Items.item_id
    
    ) a
    where rk=2
    

    2.查item_brand和卖家最爱的favorite_brand 是否相同

    select * ,
    		case when item_brand = favorite_brand then 'yes' # 第一种方法,使用case when then else end
    		else 'no' end 'love' ,
    if(favorite_brand=item_brand ,'yes','no') # 第二种方法,使用if函数
    from users,items
    

    3.连接1.2表结果

    select Users.user_id as seller_id,
    			if(favorite_brand=item_brand,'yes','no') as 2nd_item_fav_brand ,
    			case when item_brand=favorite_brand then 'yes' 
    					 else 'no' end '2nd_item_fav_brands'
    from Users 
    left join 
    (
    select *
    from(
    
    select orders.seller_id,
    			 orders.order_date,
    			 orders.item_id,
    			 items.item_id item_ids,
    			 item_brand,row_number() over(partition by seller_id order by order_date) as rk
    from Orders 
    join Items
    on Orders.item_id=Items.item_id
    
    ) a
    where rk=2
    ) b
    on Users.user_id =b.seller_id
    

  • 相关阅读:
    团队开发16
    小工具集合Alpha版使用说明
    团队开发15
    《编写有效用例》读后感3
    《编写有效用例》读后感2
    《编写有效用例》读后感1
    《架构漫谈》读后感3
    《架构漫谈》读后感2
    《架构漫谈》读后感1
    SOA设计与应用
  • 原文地址:https://www.cnblogs.com/Tdazheng/p/14980576.html
Copyright © 2011-2022 走看看