LeetCode MySQL 1581. 进店却未进行过交易的顾客
1. 題目
表:Visits
+-------------+---------+ | Column Name | Type | +-------------+---------+ | visit_id | int | | customer_id | int | +-------------+---------+visit_id 是該表的主鍵。
該表包含有關光臨過購物中心的顧客的信息。
表:Transactions
+----------------+---------+ | Column Name | Type | +----------------+---------+ | transaction_id | int | | visit_id | int | | amount | int | +----------------+---------+transaction_id 是此表的主鍵。
此表包含 visit_id 期間進行的交易的信息。
有一些顧客可能光顧了購物中心但沒有進行交易。
請你編寫一個 SQL 查詢,來查找這些顧客的 ID ,以及他們只光顧不交易的次數。
返回以任何順序排序的結果表。
查詢結果格式如下例所示:
Visits
+----------+-------------+ | visit_id | customer_id | +----------+-------------+ | 1 | 23 | | 2 | 9 | | 4 | 30 | | 5 | 54 | | 6 | 96 | | 7 | 54 | | 8 | 54 | +----------+-------------+Transactions
+----------------+----------+--------+ | transaction_id | visit_id | amount | +----------------+----------+--------+ | 2 | 5 | 310 | | 3 | 5 | 300 | | 9 | 5 | 200 | | 12 | 1 | 910 | | 13 | 2 | 970 | +----------------+----------+--------+Result 表:
+-------------+----------------+ | customer_id | count_no_trans | +-------------+----------------+ | 54 | 2 | | 30 | 1 | | 96 | 1 | +-------------+----------------+ID = 23 的顧客曾經逛過一次購物中心,并在 ID = 12 的訪問期間進行了一筆交易。
ID = 9 的顧客曾經逛過一次購物中心,并在 ID = 13 的訪問期間進行了一筆交易。
ID = 30 的顧客曾經去過購物中心,并且沒有進行任何交易。
ID = 54 的顧客三度造訪了購物中心。在 2 次訪問中,他們沒有進行任何交易,在 1 次訪問中,他們進行了 3 次交易。
ID = 96 的顧客曾經去過購物中心,并且沒有進行任何交易。
如我們所見,ID 為 30 和 96 的顧客一次沒有進行任何交易就去了購物中心。顧客 54 也兩次訪問了購物中心并且沒有進行任何交易。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/customer-who-visited-but-did-not-make-any-transactions
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
# Write your MySQL query statement below select customer_id, count(*) count_no_trans from (select customer_id, visit_idfrom Visits vwhere v.visit_id not in(select distinct t.visit_id from Transactions t) ) tab group by customer_id # Write your MySQL query statement below select customer_id, count(*) count_no_trans from Visits v where v.visit_id not in (select distinct t.visit_id from Transactions t ) group by customer_id總結
以上是生活随笔為你收集整理的LeetCode MySQL 1581. 进店却未进行过交易的顾客的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1961. 检查字符串
- 下一篇: LeetCode 1792. 最大平均通