LeetCode MySQL 1364. 顾客的可信联系人数量
生活随笔
收集整理的這篇文章主要介紹了
LeetCode MySQL 1364. 顾客的可信联系人数量
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
顧客表:Customers
+---------------+---------+ | Column Name | Type | +---------------+---------+ | customer_id | int | | customer_name | varchar | | email | varchar | +---------------+---------+ customer_id 是這張表的主鍵。 此表的每一行包含了某在線商店顧客的姓名和電子郵件。聯(lián)系方式表:Contacts
+---------------+---------+ | Column Name | Type | +---------------+---------+ | user_id | id | | contact_name | varchar | | contact_email | varchar | +---------------+---------+ (user_id, contact_email) 是這張表的主鍵。 此表的每一行表示編號(hào)為 user_id 的顧客的某位聯(lián)系人的姓名和電子郵件。 此表包含每位顧客的聯(lián)系人信息,但顧客的聯(lián)系人不一定存在于顧客表中。發(fā)票表:Invoices
+--------------+---------+ | Column Name | Type | +--------------+---------+ | invoice_id | int | | price | int | | user_id | int | +--------------+---------+ invoice_id 是這張表的主鍵。 此表的每一行分別表示編號(hào)為 user_id 的顧客 擁有有一張編號(hào)為 invoice_id、價(jià)格為 price 的發(fā)票。為每張發(fā)票 invoice_id 編寫一個(gè)SQL查詢以查找以下內(nèi)容:
customer_name:與發(fā)票相關(guān)的顧客名稱。 price:發(fā)票的價(jià)格。 contacts_cnt:該顧客的聯(lián)系人數(shù)量。 trusted_contacts_cnt: 可信聯(lián)系人的數(shù)量:既是該顧客的聯(lián)系人又是商店顧客的聯(lián)系人數(shù)量 (即:可信聯(lián)系人的電子郵件存在于客戶表中)。 將查詢的結(jié)果按照 invoice_id 排序。查詢結(jié)果的格式如下例所示:
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 有三位聯(lián)系人,其中兩位(Bob 和 John)是可信聯(lián)系人。 Bob 有兩位聯(lián)系人, 他們中的任何一位都不是可信聯(lián)系人。 Alex 只有一位聯(lián)系人(Alice),并是一位可信聯(lián)系人。 John 沒有任何聯(lián)系人。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/number-of-trusted-contacts-of-a-customer
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
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/
長按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode MySQL 1364. 顾客的可信联系人数量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1058. 最小化舍入
- 下一篇: Pytorch 神经网络训练过程