LeetCode MySQL 1159. 市场分析 II(rank+over)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode MySQL 1159. 市场分析 II(rank+over)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
表: Users
+----------------+---------+ | Column Name | Type | +----------------+---------+ | user_id | int | | join_date | date | | favorite_brand | varchar | +----------------+---------+ user_id 是該表的主鍵 表中包含一位在線購物網站用戶的個人信息,用戶可以在該網站出售和購買商品。表: Orders
+---------------+---------+ | Column Name | Type | +---------------+---------+ | order_id | int | | order_date | date | | item_id | int | | buyer_id | int | | seller_id | int | +---------------+---------+ order_id 是該表的主鍵 item_id 是 Items 表的外鍵 buyer_id 和 seller_id 是 Users 表的外鍵表: Items
+---------------+---------+ | Column Name | Type | +---------------+---------+ | item_id | int | | item_brand | varchar | +---------------+---------+ item_id 是該表的主鍵寫一個 SQL 查詢確定每一個用戶按日期順序賣出的第二件商品的品牌是否是他們最喜愛的品牌。
如果一個用戶賣出少于兩件商品,查詢的結果是 no 。
題目保證沒有一個用戶在一天中賣出超過一件商品
下面是查詢結果格式的例子:
Users table: +---------+------------+----------------+ | user_id | join_date | favorite_brand | +---------+------------+----------------+ | 1 | 2019-01-01 | Lenovo | | 2 | 2019-02-09 | Samsung | | 3 | 2019-01-19 | LG | | 4 | 2019-05-21 | HP | +---------+------------+----------------+Orders table: +----------+------------+---------+----------+-----------+ | order_id | order_date | item_id | buyer_id | seller_id | +----------+------------+---------+----------+-----------+ | 1 | 2019-08-01 | 4 | 1 | 2 | | 2 | 2019-08-02 | 2 | 1 | 3 | | 3 | 2019-08-03 | 3 | 2 | 3 | | 4 | 2019-08-04 | 1 | 4 | 2 | | 5 | 2019-08-04 | 1 | 3 | 4 | | 6 | 2019-08-05 | 2 | 2 | 4 | +----------+------------+---------+----------+-----------+Items table: +---------+------------+ | item_id | item_brand | +---------+------------+ | 1 | Samsung | | 2 | Lenovo | | 3 | LG | | 4 | HP | +---------+------------+Result table: +-----------+--------------------+ | seller_id | 2nd_item_fav_brand | +-----------+--------------------+ | 1 | no | | 2 | yes | | 3 | yes | | 4 | no | +-----------+--------------------+id 為 1 的用戶的查詢結果是 no,因為他什么也沒有賣出 id為 2 和 3 的用戶的查詢結果是 yes,因為他們賣出的第二件商品的品牌是他們自己最喜愛的品牌 id為 4 的用戶的查詢結果是 no,因為他賣出的第二件商品的品牌不是他最喜愛的品牌來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/market-analysis-ii
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 連接各表,窗口函數求出排名
- 選出 rnk = 2 的,再左連接 所有用戶的 id
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode MySQL 1159. 市场分析 II(rank+over)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode MySQL 574.
- 下一篇: LeetCode 968. 监控二叉树(