LeetCode MySQL 1364. 顾客的可信联系人数量
生活随笔
收集整理的這篇文章主要介紹了
LeetCode MySQL 1364. 顾客的可信联系人数量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
顧客表:Customers
+---------------+---------+ | Column Name | Type | +---------------+---------+ | customer_id | int | | customer_name | varchar | | email | varchar | +---------------+---------+ customer_id 是這張表的主鍵。 此表的每一行包含了某在線商店顧客的姓名和電子郵件。聯系方式表:Contacts
+---------------+---------+ | Column Name | Type | +---------------+---------+ | user_id | id | | contact_name | varchar | | contact_email | varchar | +---------------+---------+ (user_id, contact_email) 是這張表的主鍵。 此表的每一行表示編號為 user_id 的顧客的某位聯系人的姓名和電子郵件。 此表包含每位顧客的聯系人信息,但顧客的聯系人不一定存在于顧客表中。發票表:Invoices
+--------------+---------+ | Column Name | Type | +--------------+---------+ | invoice_id | int | | price | int | | user_id | int | +--------------+---------+ invoice_id 是這張表的主鍵。 此表的每一行分別表示編號為 user_id 的顧客 擁有有一張編號為 invoice_id、價格為 price 的發票。為每張發票 invoice_id 編寫一個SQL查詢以查找以下內容:
customer_name:與發票相關的顧客名稱。 price:發票的價格。 contacts_cnt:該顧客的聯系人數量。 trusted_contacts_cnt: 可信聯系人的數量:既是該顧客的聯系人又是商店顧客的聯系人數量 (即:可信聯系人的電子郵件存在于客戶表中)。 將查詢的結果按照 invoice_id 排序。查詢結果的格式如下例所示:
Customers table: +-------------+---------------+--------------------+ | customer_id | customer_name | email | +-------------+---------------+--------------------+ | 1 | Alice | alice@leetcode.com | | 2 | Bob | bob@leetcode.com | | 13 | John | john@leetcode.com | | 6 | Alex | alex@leetcode.com | +-------------+---------------+--------------------+ Contacts table: +-------------+--------------+--------------------+ | user_id | contact_name | contact_email | +-------------+--------------+--------------------+ | 1 | Bob | bob@leetcode.com | | 1 | John | john@leetcode.com | | 1 | Jal | jal@leetcode.com | | 2 | Omar | omar@leetcode.com | | 2 | Meir | meir@leetcode.com | | 6 | Alice | alice@leetcode.com | +-------------+--------------+--------------------+ Invoices table: +------------+-------+---------+ | invoice_id | price | user_id | +------------+-------+---------+ | 77 | 100 | 1 | | 88 | 200 | 1 | | 99 | 300 | 2 | | 66 | 400 | 2 | | 55 | 500 | 13 | | 44 | 60 | 6 | +------------+-------+---------+ Result table: +------------+---------------+-------+--------------+----------------------+ | invoice_id | customer_name | price | contacts_cnt | trusted_contacts_cnt | +------------+---------------+-------+--------------+----------------------+ | 44 | Alex | 60 | 1 | 1 | | 55 | John | 500 | 0 | 0 | | 66 | Bob | 400 | 2 | 0 | | 77 | Alice | 100 | 3 | 2 | | 88 | Alice | 200 | 3 | 2 | | 99 | Bob | 300 | 2 | 0 | +------------+---------------+-------+--------------+----------------------+ Alice 有三位聯系人,其中兩位(Bob 和 John)是可信聯系人。 Bob 有兩位聯系人, 他們中的任何一位都不是可信聯系人。 Alex 只有一位聯系人(Alice),并是一位可信聯系人。 John 沒有任何聯系人。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/number-of-trusted-contacts-of-a-customer
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
# Write your MySQL query statement below select invoice_id, customer_name, price, contacts_cnt, trusted_contacts_cnt from Invoices left join (select customer_id, customer_name, count(user_id) contacts_cnt, sum(if(co.contact_name in (select customer_name from Customers), 1, 0)) trusted_contacts_cntfrom Customers cu left join Contacts coon cu.customer_id = co.user_idgroup by cu.customer_id ) t on Invoices.user_id = t.customer_id order by invoice_id我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode MySQL 1364. 顾客的可信联系人数量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1058. 最小化舍入
- 下一篇: Pytorch 神经网络训练过程