LeetCode MySQL 1126. 查询活跃业务
生活随笔
收集整理的這篇文章主要介紹了
LeetCode MySQL 1126. 查询活跃业务
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
事件表:Events
+---------------+---------+ | Column Name | Type | +---------------+---------+ | business_id | int | | event_type | varchar | | occurences | int | +---------------+---------+ 此表的主鍵是 (business_id, event_type)。 表中的每一行記錄了某種類型的事件在某些業務中多次發生的信息。寫一段 SQL 來查詢所有活躍的業務。
如果一個業務的某個事件類型的發生次數大于此事件類型在所有業務中的平均發生次數,
并且該業務至少有兩個這樣的事件類型,那么該業務就可被看做是活躍業務。
查詢結果格式如下所示:
Events table: +-------------+------------+------------+ | business_id | event_type | occurences | +-------------+------------+------------+ | 1 | reviews | 7 | | 3 | reviews | 3 | | 1 | ads | 11 | | 2 | ads | 7 | | 3 | ads | 6 | | 1 | page views | 3 | | 2 | page views | 12 | +-------------+------------+------------+結果表 +-------------+ | business_id | +-------------+ | 1 | +-------------+ 'reviews'、 'ads' 和 'page views' 的總平均發生次數 分別是 (7+3)/2=5, (11+7+6)/3=8, (3+12)/2=7.5。 id 為 1 的業務有 7 個 'reviews' 事件(大于 5) 和 11 個 'ads' 事件(大于 8),所以它是活躍業務。來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/active-businesses
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
# Write your MySQL query statement below select e.business_id from Events e left join (select event_type, avg(occurences) avgoccfrom Eventsgroup by event_type ) t on e.event_type = t.event_type group by e.business_id having sum(e.occurences > t.avgocc) >= 2我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode MySQL 1126. 查询活跃业务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1124. 表现良好的
- 下一篇: LeetCode 473. 火柴拼正方形