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
    

  • 相关阅读:
    js 遍历EL表达式 list对象
    easyui-datebox 点击事件
    java-启动和关闭.exe程序
    css 样式控制文本过长实现省略号
    java-plupload上传大文件
    .ajax向后台传递数组(转)
    <c:> </c:>
    访问修饰符
    附录A培训实习生-面向对象基础方法重载(3)
    附录A培训实习生-面向对象基础构造方法和带参数的构造方法(2)
  • 原文地址:https://www.cnblogs.com/Tdazheng/p/14980576.html
Copyright © 2011-2022 走看看