LeetCode数据库SQL题目记录(难度:简单)
難度:簡單
目錄
175. 組合兩個表
176. 第二高的薪水
181. 超過經(jīng)理收入的員工
182. 查找重復的電子郵箱
183. 從不訂購的客戶
196. 刪除重復的電子郵箱
197. 上升的溫度
511. 游戲玩法分析 I
512. 游戲玩法分析 II
577. 員工獎金
584. 尋找用戶推薦人
586. 訂單最多的客戶
595. 大的國家
596. 超過5名學生的課
597. 好友申請 I:總體通過率
603. 連續(xù)空余座位
607. 銷售員
610. 判斷三角形
613. 直線上的最近距離
619. 只出現(xiàn)一次的最大數(shù)字
620. 有趣的電影
627. 變更性別
1050. 合作過至少三次的演員和導演
1068. 產(chǎn)品銷售分析 I
1069. 產(chǎn)品銷售分析 II
1075. 項目員工 I
1076. 項目員工II
1082. 銷售分析 I
1083. 銷售分析 II
1084. 銷售分析III
1113. 報告的記錄
1141. 查詢近30天活躍用戶數(shù)
1142. 過去30天的用戶活動 II
1148. 文章瀏覽 I
1173. 即時食物配送 I
1179. 重新格式化部門表
1211. 查詢結(jié)果的質(zhì)量和占比
1241. 每個帖子的評論數(shù)
1251. 平均售價
1280. 學生們參加各科測試的次數(shù)
1294. 不同國家的天氣類型
1303. 求團隊人數(shù)
1322. 廣告效果
1327. 列出指定時間段內(nèi)所有的下單產(chǎn)品
1350. 院系無效的學生
1378. 使用唯一標識碼替換員工ID
1407. 排名靠前的旅行者
1435. 制作會話柱狀圖
1485. 按日期分組銷售產(chǎn)品
1495. 上月播放的兒童適宜電影
1511. 消費者下單頻率
1517. 查找擁有有效郵箱的用戶
1527. 患某種疾病的患者
1543. 產(chǎn)品名稱格式修復
1565. 按月統(tǒng)計訂單數(shù)與顧客數(shù)
1571. 倉庫經(jīng)理
1581. 進店卻未進行過交易的顧客
1587. 銀行賬戶概要 II
1607. 沒有賣出的賣家
1623. 三人國家代表隊
1633. 各賽事的用戶注冊率
1661. 每臺機器的進程平均運行時間
1667. 修復表中的名字
1677. 發(fā)票中的產(chǎn)品金額
1683. 無效的推文
1693. 每天的領導和合伙人
1729. 求關注者的數(shù)量
1731. 每位經(jīng)理的下屬員工數(shù)量
1741. 查找每個員工花費的總時間
1757. 可回收且低脂的產(chǎn)品
1777. 每家商店的產(chǎn)品價格
1789. 員工的直屬部門
1795. 每個產(chǎn)品在不同商店的價格
1809. 沒有廣告的劇集
1821. 尋找今年具有正收入的客戶
1873. 計算特殊獎金
1890. 2020年最后一次登錄
175. 組合兩個表
編寫一個 SQL 查詢,滿足條件:無論 person 是否有地址信息,都需要基于上述兩表提供?person 的以下信息:
FirstName, LastName, City, State
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/combine-two-tables
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
176. 第二高的薪水
# Write your MySQL query statement below select (select distinct Salary from Employee order by Salary desc limit 1,1) SecondHighestSalary181. 超過經(jīng)理收入的員工
# Write your MySQL query statement below select a.Name Employee from Employee a,Employee b where a.ManagerId = b.Id and a.Salary > b.Salary?182. 查找重復的電子郵箱
# Write your MySQL query statement below select Email from Person group by Email having count(*) > 1183. 從不訂購的客戶
某網(wǎng)站包含兩個表,Customers 表和 Orders 表。編寫一個 SQL 查詢,找出所有從不訂購任何東西的客戶。
Customers 表:
+----+-------+
| Id | Name ?|
+----+-------+
| 1 ?| Joe ? |
| 2 ?| Henry |
| 3 ?| Sam ? |
| 4 ?| Max ? |
+----+-------+
Orders 表:
+----+------------+
| Id | CustomerId |
+----+------------+
| 1 ?| 3 ? ? ? ? ?|
| 2 ?| 1 ? ? ? ? ?|
+----+------------+
例如給定上述表格,你的查詢應返回:
+-----------+
| Customers |
+-----------+
| Henry ? ? |
| Max ? ? ? |
+-----------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/customers-who-never-order
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
196. 刪除重復的電子郵箱
編寫一個 SQL 查詢,來刪除?Person?表中所有重復的電子郵箱,重復的郵箱里只保留?Id?最小?的那個。
+----+------------------+
| Id | Email ? ? ? ? ? ?|
+----+------------------+
| 1 ?| john@example.com |
| 2 ?| bob@example.com ?|
| 3 ?| john@example.com |
+----+------------------+
Id 是這個表的主鍵。
例如,在運行你的查詢語句之后,上面的 Person 表應返回以下幾行:
+----+------------------+
| Id | Email ? ? ? ? ? ?|
+----+------------------+
| 1 ?| john@example.com |
| 2 ?| bob@example.com ?|
+----+------------------+
?
提示:
執(zhí)行 SQL 之后,輸出是整個 Person?表。
使用 delete 語句。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/delete-duplicate-emails
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
197. 上升的溫度
表 Weather
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| id ? ? ? ? ? ?| int ? ? |
| recordDate ? ?| date ? ?|
| temperature ? | int ? ? |
+---------------+---------+
id 是這個表的主鍵
該表包含特定日期的溫度信息
?
編寫一個 SQL 查詢,來查找與之前(昨天的)日期相比溫度更高的所有日期的 id 。
返回結(jié)果 不要求順序 。
查詢結(jié)果格式如下例:
Weather
+----+------------+-------------+
| id | recordDate | Temperature |
+----+------------+-------------+
| 1 ?| 2015-01-01 | 10 ? ? ? ? ?|
| 2 ?| 2015-01-02 | 25 ? ? ? ? ?|
| 3 ?| 2015-01-03 | 20 ? ? ? ? ?|
| 4 ?| 2015-01-04 | 30 ? ? ? ? ?|
+----+------------+-------------+
Result table:
+----+
| id |
+----+
| 2 ?|
| 4 ?|
+----+
2015-01-02 的溫度比前一天高(10 -> 25)
2015-01-04 的溫度比前一天高(20 -> 30)
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/rising-temperature
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
511. 游戲玩法分析 I
活動表?Activity:
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| player_id ? ?| int ? ? |
| device_id ? ?| int ? ? |
| event_date ? | date ? ?|
| games_played | int ? ? |
+--------------+---------+
表的主鍵是 (player_id, event_date)。
這張表展示了一些游戲玩家在游戲平臺上的行為活動。
每行數(shù)據(jù)記錄了一名玩家在退出平臺之前,當天使用同一臺設備登錄平臺后打開的游戲的數(shù)目(可能是 0 個)。
?
寫一條 SQL?查詢語句獲取每位玩家 第一次登陸平臺的日期。
查詢結(jié)果的格式如下所示:
Activity 表:
+-----------+-----------+------------+--------------+
| player_id | device_id | event_date | games_played |
+-----------+-----------+------------+--------------+
| 1 ? ? ? ? | 2 ? ? ? ? | 2016-03-01 | 5 ? ? ? ? ? ?|
| 1 ? ? ? ? | 2 ? ? ? ? | 2016-05-02 | 6 ? ? ? ? ? ?|
| 2 ? ? ? ? | 3 ? ? ? ? | 2017-06-25 | 1 ? ? ? ? ? ?|
| 3 ? ? ? ? | 1 ? ? ? ? | 2016-03-02 | 0 ? ? ? ? ? ?|
| 3 ? ? ? ? | 4 ? ? ? ? | 2018-07-03 | 5 ? ? ? ? ? ?|
+-----------+-----------+------------+--------------+
Result 表:
+-----------+-------------+
| player_id | first_login |
+-----------+-------------+
| 1 ? ? ? ? | 2016-03-01 ?|
| 2 ? ? ? ? | 2017-06-25 ?|
| 3 ? ? ? ? | 2016-03-02 ?|
+-----------+-------------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/game-play-analysis-i
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
512. 游戲玩法分析 II
Table:?Activity
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| player_id ? ?| int ? ? |
| device_id ? ?| int ? ? |
| event_date ? | date ? ?|
| games_played | int ? ? |
+--------------+---------+
(player_id, event_date) 是這個表的兩個主鍵
這個表顯示的是某些游戲玩家的游戲活動情況
每一行是在某天使用某個設備登出之前登錄并玩多個游戲(可能為0)的玩家的記錄
請編寫一個 SQL 查詢,描述每一個玩家首次登陸的設備名稱
查詢結(jié)果格式在以下示例中:
Activity table:
+-----------+-----------+------------+--------------+
| player_id | device_id | event_date | games_played |
+-----------+-----------+------------+--------------+
| 1 ? ? ? ? | 2 ? ? ? ? | 2016-03-01 | 5 ? ? ? ? ? ?|
| 1 ? ? ? ? | 2 ? ? ? ? | 2016-05-02 | 6 ? ? ? ? ? ?|
| 2 ? ? ? ? | 3 ? ? ? ? | 2017-06-25 | 1 ? ? ? ? ? ?|
| 3 ? ? ? ? | 1 ? ? ? ? | 2016-03-02 | 0 ? ? ? ? ? ?|
| 3 ? ? ? ? | 4 ? ? ? ? | 2018-07-03 | 5 ? ? ? ? ? ?|
+-----------+-----------+------------+--------------+
Result table:
+-----------+-----------+
| player_id | device_id |
+-----------+-----------+
| 1 ? ? ? ? | 2 ? ? ? ? |
| 2 ? ? ? ? | 3 ? ? ? ? |
| 3 ? ? ? ? | 1 ? ? ? ? |
+-----------+-----------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/game-play-analysis-ii
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
577. 員工獎金
選出所有 bonus < 1000 的員工的 name 及其 bonus。
Employee 表單
+-------+--------+-----------+--------+
| empId | ?name ?| supervisor| salary |
+-------+--------+-----------+--------+
| ? 1 ? | John ? | ?3 ? ? ? ?| 1000 ? |
| ? 2 ? | Dan ? ?| ?3 ? ? ? ?| 2000 ? |
| ? 3 ? | Brad ? | ?null ? ? | 4000 ? |
| ? 4 ? | Thomas | ?3 ? ? ? ?| 4000 ? |
+-------+--------+-----------+--------+
empId 是這張表單的主關鍵字
Bonus 表單
+-------+-------+
| empId | bonus |
+-------+-------+
| 2 ? ? | 500 ? |
| 4 ? ? | 2000 ?|
+-------+-------+
empId 是這張表單的主關鍵字
輸出示例:
+-------+-------+
| name ?| bonus |
+-------+-------+
| John ?| null ?|
| Dan ? | 500 ? |
| Brad ?| null ?|
+-------+-------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/employee-bonus
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
584. 尋找用戶推薦人
給定表?customer?,里面保存了所有客戶信息和他們的推薦人。
+------+------+-----------+
| id ? | name | referee_id|
+------+------+-----------+
| ? ?1 | Will | ? ? ?NULL |
| ? ?2 | Jane | ? ? ?NULL |
| ? ?3 | Alex | ? ? ? ? 2 |
| ? ?4 | Bill | ? ? ?NULL |
| ? ?5 | Zack | ? ? ? ? 1 |
| ? ?6 | Mark | ? ? ? ? 2 |
+------+------+-----------+
寫一個查詢語句,返回一個客戶列表,列表中客戶的推薦人的編號都?不是 2。
對于上面的示例數(shù)據(jù),結(jié)果為:
+------+
| name |
+------+
| Will |
| Jane |
| Bill |
| Zack |
+------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-customer-referee
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
586. 訂單最多的客戶
在表?orders?中找到訂單數(shù)最多客戶對應的?customer_number?。
數(shù)據(jù)保證訂單數(shù)最多的顧客恰好只有一位。
表?orders 定義如下:
| Column ? ? ? ? ? ?| Type ? ? ?|
|-------------------|-----------|
| order_number (PK) | int ? ? ? |
| customer_number ? | int ? ? ? |
| order_date ? ? ? ?| date ? ? ?|
| required_date ? ? | date ? ? ?|
| shipped_date ? ? ?| date ? ? ?|
| status ? ? ? ? ? ?| char(15) ?|
| comment ? ? ? ? ? | char(200) |
樣例輸入
| order_number | customer_number | order_date | required_date | shipped_date | status | comment |
|--------------|-----------------|------------|---------------|--------------|--------|---------|
| 1 ? ? ? ? ? ?| 1 ? ? ? ? ? ? ? | 2017-04-09 | 2017-04-13 ? ?| 2017-04-12 ? | Closed | ? ? ? ? |
| 2 ? ? ? ? ? ?| 2 ? ? ? ? ? ? ? | 2017-04-15 | 2017-04-20 ? ?| 2017-04-18 ? | Closed | ? ? ? ? |
| 3 ? ? ? ? ? ?| 3 ? ? ? ? ? ? ? | 2017-04-16 | 2017-04-25 ? ?| 2017-04-20 ? | Closed | ? ? ? ? |
| 4 ? ? ? ? ? ?| 3 ? ? ? ? ? ? ? | 2017-04-18 | 2017-04-28 ? ?| 2017-04-25 ? | Closed | ? ? ? ? |
樣例輸出
| customer_number |
|-----------------|
| 3 ? ? ? ? ? ? ? |
解釋
customer_number 為 '3' 的顧客有兩個訂單,比顧客 '1' 或者 '2' 都要多,因為他們只有一個訂單
所以結(jié)果是該顧客的 customer_number ,也就是 3 。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/customer-placing-the-largest-number-of-orders
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
595. 大的國家
這里有張?World 表
+-----------------+------------+------------+--------------+---------------+
| name ? ? ? ? ? ?| continent ?| area ? ? ? | population ? | gdp ? ? ? ? ? |
+-----------------+------------+------------+--------------+---------------+
| Afghanistan ? ? | Asia ? ? ? | 652230 ? ? | 25500100 ? ? | 20343000 ? ? ?|
| Albania ? ? ? ? | Europe ? ? | 28748 ? ? ?| 2831741 ? ? ?| 12960000 ? ? ?|
| Algeria ? ? ? ? | Africa ? ? | 2381741 ? ?| 37100000 ? ? | 188681000 ? ? |
| Andorra ? ? ? ? | Europe ? ? | 468 ? ? ? ?| 78115 ? ? ? ?| 3712000 ? ? ? |
| Angola ? ? ? ? ?| Africa ? ? | 1246700 ? ?| 20609294 ? ? | 100990000 ? ? |
+-----------------+------------+------------+--------------+---------------+
如果一個國家的面積超過 300 萬平方公里,或者人口超過 2500 萬,那么這個國家就是大國家。
編寫一個 SQL 查詢,輸出表中所有大國家的名稱、人口和面積。
例如,根據(jù)上表,我們應該輸出:
+--------------+-------------+--------------+
| name ? ? ? ? | population ?| area ? ? ? ? |
+--------------+-------------+--------------+
| Afghanistan ?| 25500100 ? ?| 652230 ? ? ? |
| Algeria ? ? ?| 37100000 ? ?| 2381741 ? ? ?|
+--------------+-------------+--------------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/big-countries
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
596. 超過5名學生的課
有一個courses 表 ,有: student?(學生) 和 class (課程)。
請列出所有超過或等于5名學生的課。
例如,表:
+---------+------------+
| student | class ? ? ?|
+---------+------------+
| A ? ? ? | Math ? ? ? |
| B ? ? ? | English ? ?|
| C ? ? ? | Math ? ? ? |
| D ? ? ? | Biology ? ?|
| E ? ? ? | Math ? ? ? |
| F ? ? ? | Computer ? |
| G ? ? ? | Math ? ? ? |
| H ? ? ? | Math ? ? ? |
| I ? ? ? | Math ? ? ? |
+---------+------------+
應該輸出:
+---------+
| class ? |
+---------+
| Math ? ?|
+---------+
?
提示:
學生在每個課中不應被重復計算。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/classes-more-than-5-students
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
597. 好友申請 I:總體通過率
在 Facebook 或者 Twitter 這樣的社交應用中,人們經(jīng)常會發(fā)好友申請也會收到其他人的好友申請。
表:FriendRequest
+----------------+---------+
| Column Name ? ?| Type ? ?|
+----------------+---------+
| sender_id ? ? ?| int ? ? |
| send_to_id ? ? | int ? ? |
| request_date ? | date ? ?|
+----------------+---------+
此表沒有主鍵,它可能包含重復項。
該表包含發(fā)送請求的用戶的 ID ,接受請求的用戶的 ID 以及請求的日期。
表:RequestAccepted
+----------------+---------+
| Column Name ? ?| Type ? ?|
+----------------+---------+
| requester_id ? | int ? ? |
| accepter_id ? ?| int ? ? |
| accept_date ? ?| date ? ?|
+----------------+---------+
此表沒有主鍵,它可能包含重復項。
該表包含發(fā)送請求的用戶的 ID ,接受請求的用戶的 ID 以及請求通過的日期。
?
寫一個查詢語句,求出好友申請的通過率,用 2 位小數(shù)表示。通過率由接受好友申請的數(shù)目除以申請總數(shù)。
提示:
通過的好友申請不一定都在表?friend_request?中。你只需要統(tǒng)計總的被通過的申請數(shù)(不管它們在不在表?FriendRequest?中),并將它除以申請總數(shù),得到通過率
一個好友申請發(fā)送者有可能會給接受者發(fā)幾條好友申請,也有可能一個好友申請會被通過好幾次。這種情況下,重復的好友申請只統(tǒng)計一次。
如果一個好友申請都沒有,通過率為 0.00 。
?
查詢結(jié)果應該如下例所示:
FriendRequest 表:
+-----------+------------+--------------+
| sender_id | send_to_id | request_date |
+-----------+------------+--------------+
| 1 ? ? ? ? | 2 ? ? ? ? ?| 2016/06/01 ? |
| 1 ? ? ? ? | 3 ? ? ? ? ?| 2016/06/01 ? |
| 1 ? ? ? ? | 4 ? ? ? ? ?| 2016/06/01 ? |
| 2 ? ? ? ? | 3 ? ? ? ? ?| 2016/06/02 ? |
| 3 ? ? ? ? | 4 ? ? ? ? ?| 2016/06/09 ? |
+-----------+------------+--------------+
RequestAccepted 表:
+--------------+-------------+-------------+
| requester_id | accepter_id | accept_date |
+--------------+-------------+-------------+
| 1 ? ? ? ? ? ?| 2 ? ? ? ? ? | 2016/06/03 ?|
| 1 ? ? ? ? ? ?| 3 ? ? ? ? ? | 2016/06/08 ?|
| 2 ? ? ? ? ? ?| 3 ? ? ? ? ? | 2016/06/08 ?|
| 3 ? ? ? ? ? ?| 4 ? ? ? ? ? | 2016/06/09 ?|
| 3 ? ? ? ? ? ?| 4 ? ? ? ? ? | 2016/06/10 ?|
+--------------+-------------+-------------+
Result 表:
+-------------+
| accept_rate |
+-------------+
| 0.8 ? ? ? ? |
+-------------+
總共有 5 個請求,有 4 個不同的通過請求,所以通過率是 0.80
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/friend-requests-i-overall-acceptance-rate
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
603. 連續(xù)空余座位
幾個朋友來到電影院的售票處,準備預約連續(xù)空余座位。
你能利用表?cinema?,幫他們寫一個查詢語句,獲取所有空余座位,并將它們按照 seat_id 排序后返回嗎?
| seat_id | free |
|---------|------|
| 1 ? ? ? | 1 ? ?|
| 2 ? ? ? | 0 ? ?|
| 3 ? ? ? | 1 ? ?|
| 4 ? ? ? | 1 ? ?|
| 5 ? ? ? | 1 ? ?|
?
對于如上樣例,你的查詢語句應該返回如下結(jié)果。
| seat_id |
|---------|
| 3 ? ? ? |
| 4 ? ? ? |
| 5 ? ? ? |
注意:
seat_id 字段是一個自增的整數(shù),free 字段是布爾類型('1' 表示空余, '0' 表示已被占據(jù))。
連續(xù)空余座位的定義是大于等于 2 個連續(xù)空余的座位。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/consecutive-available-seats
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
607. 銷售員
描述
給定 3 個表:?salesperson,?company,?orders。
輸出所有表?salesperson?中,沒有向公司 'RED' 銷售任何東西的銷售員。
示例:
輸入
表:?salesperson
+----------+------+--------+-----------------+-----------+
| sales_id | name | salary | commission_rate | hire_date |
+----------+------+--------+-----------------+-----------+
| ? 1 ? ? ?| John | 100000 | ? ? 6 ? ? ? ? ? | 4/1/2006 ?|
| ? 2 ? ? ?| Amy ?| 120000 | ? ? 5 ? ? ? ? ? | 5/1/2010 ?|
| ? 3 ? ? ?| Mark | 65000 ?| ? ? 12 ? ? ? ? ?| 12/25/2008|
| ? 4 ? ? ?| Pam ?| 25000 ?| ? ? 25 ? ? ? ? ?| 1/1/2005 ?|
| ? 5 ? ? ?| Alex | 50000 ?| ? ? 10 ? ? ? ? ?| 2/3/2007 ?|
+----------+------+--------+-----------------+-----------+
表?salesperson 存儲了所有銷售員的信息。每個銷售員都有一個銷售員編號?sales_id 和他的名字?name?。
表:?company
+---------+--------+------------+
| com_id ?| ?name ?| ? ?city ? ?|
+---------+--------+------------+
| ? 1 ? ? | ?RED ? | ? Boston ? |
| ? 2 ? ? | ORANGE | ? New York |
| ? 3 ? ? | YELLOW | ? Boston ? |
| ? 4 ? ? | GREEN ?| ? Austin ? |
+---------+--------+------------+
表?company?存儲了所有公司的信息。每個公司都有一個公司編號?com_id?和它的名字 name?。
表:?orders
+----------+------------+---------+----------+--------+
| order_id | order_date | com_id ?| sales_id | amount |
+----------+------------+---------+----------+--------+
| 1 ? ? ? ?| ? 1/1/2014 | ? ?3 ? ?| ? ?4 ? ? | 100000 |
| 2 ? ? ? ?| ? 2/1/2014 | ? ?4 ? ?| ? ?5 ? ? | 5000 ? |
| 3 ? ? ? ?| ? 3/1/2014 | ? ?1 ? ?| ? ?1 ? ? | 50000 ?|
| 4 ? ? ? ?| ? 4/1/2014 | ? ?1 ? ?| ? ?4 ? ? | 25000 ?|
+----------+----------+---------+----------+--------+
表?orders?存儲了所有的銷售數(shù)據(jù),包括銷售員編號 sales_id 和公司編號 com_id?。
輸出
+------+
| name |?
+------+
| Amy ?|?
| Mark |?
| Alex |
+------+
解釋
根據(jù)表?orders?中的訂單 '3' 和 '4' ,容易看出只有 'John' 和 'Pam' 兩個銷售員曾經(jīng)向公司 'RED' 銷售過。
所以我們需要輸出表?salesperson?中所有其他人的名字。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sales-person
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
610. 判斷三角形
一個小學生 Tim 的作業(yè)是判斷三條線段是否能形成一個三角形。
然而,這個作業(yè)非常繁重,因為有幾百組線段需要判斷。
假設表 triangle?保存了所有三條線段的長度 x、y、z ,請你幫 Tim 寫一個查詢語句,來判斷每組 x、y、z 是否可以組成一個三角形?
| x ?| y ?| z ?|
|----|----|----|
| 13 | 15 | 30 |
| 10 | 20 | 15 |
對于如上樣例數(shù)據(jù),你的查詢語句應該返回如下結(jié)果:
| x ?| y ?| z ?| triangle |
|----|----|----|----------|
| 13 | 15 | 30 | No ? ? ? |
| 10 | 20 | 15 | Yes ? ? ?|
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/triangle-judgement
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
613. 直線上的最近距離
表?point?保存了一些點在 x 軸上的坐標,這些坐標都是整數(shù)。
寫一個查詢語句,找到這些點中最近兩個點之間的距離。
| x ? |
|-----|
| -1 ?|
| 0 ? |
| 2 ? |
?
最近距離顯然是 '1' ,是點 '-1' 和 '0' 之間的距離。所以輸出應該如下:
| shortest|
|---------|
| 1 ? ? ? |
?
注意:每個點都與其他點坐標不同,表?table?不會有重復坐標出現(xiàn)。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/shortest-distance-in-a-line
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
619. 只出現(xiàn)一次的最大數(shù)字
表?my_numbers?的 num?字段包含很多數(shù)字,其中包括很多重復的數(shù)字。
你能寫一個 SQL 查詢語句,找到只出現(xiàn)過一次的數(shù)字中,最大的一個數(shù)字嗎?
+---+
|num|
+---+
| 8 |
| 8 |
| 3 |
| 3 |
| 1 |
| 4 |
| 5 |
| 6 |?
對于上面給出的樣例數(shù)據(jù),你的查詢語句應該返回如下結(jié)果:
+---+
|num|
+---+
| 6 |
注意:
如果沒有只出現(xiàn)一次的數(shù)字,輸出?null?。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/biggest-single-number
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
620. 有趣的電影
某城市開了一家新的電影院,吸引了很多人過來看電影。該電影院特別注意用戶體驗,專門有個 LED顯示板做電影推薦,上面公布著影評和相關電影描述。
作為該電影院的信息部主管,您需要編寫一個 SQL查詢,找出所有影片描述為非?boring?(不無聊)?的并且 id 為奇數(shù)?的影片,結(jié)果請按等級 rating 排列。
例如,下表 cinema:
+---------+-----------+--------------+-----------+
| ? id ? ?| movie ? ? | ?description | ?rating ? |
+---------+-----------+--------------+-----------+
| ? 1 ? ? | War ? ? ? | ? great 3D ? | ? 8.9 ? ? |
| ? 2 ? ? | Science ? | ? fiction ? ?| ? 8.5 ? ? |
| ? 3 ? ? | irish ? ? | ? boring ? ? | ? 6.2 ? ? |
| ? 4 ? ? | Ice song ?| ? Fantacy ? ?| ? 8.6 ? ? |
| ? 5 ? ? | House card| ? Interesting| ? 9.1 ? ? |
+---------+-----------+--------------+-----------+
對于上面的例子,則正確的輸出是為:
+---------+-----------+--------------+-----------+
| ? id ? ?| movie ? ? | ?description | ?rating ? |
+---------+-----------+--------------+-----------+
| ? 5 ? ? | House card| ? Interesting| ? 9.1 ? ? |
| ? 1 ? ? | War ? ? ? | ? great 3D ? | ? 8.9 ? ? |
+---------+-----------+--------------+-----------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/not-boring-movies
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
627. 變更性別
給定一個?salary?表,如下所示,有 m = 男性 和 f = 女性 的值。交換所有的 f 和 m 值(例如,將所有 f 值更改為 m,反之亦然)。要求只使用一個更新(Update)語句,并且沒有中間的臨時表。
注意,您必只能寫一個 Update 語句,請不要編寫任何 Select 語句。
例如:
| id | name | sex | salary |
|----|------|-----|--------|
| 1 ?| A ? ?| m ? | 2500 ? |
| 2 ?| B ? ?| f ? | 1500 ? |
| 3 ?| C ? ?| m ? | 5500 ? |
| 4 ?| D ? ?| f ? | 500 ? ?|
運行你所編寫的更新語句之后,將會得到以下表:
| id | name | sex | salary |
|----|------|-----|--------|
| 1 ?| A ? ?| f ? | 2500 ? |
| 2 ?| B ? ?| m ? | 1500 ? |
| 3 ?| C ? ?| f ? | 5500 ? |
| 4 ?| D ? ?| m ? | 500 ? ?|
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/swap-salary
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1050. 合作過至少三次的演員和導演
ActorDirector?表:
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| actor_id ? ?| int ? ? |
| director_id | int ? ? |
| timestamp ? | int ? ? |
+-------------+---------+
timestamp 是這張表的主鍵.
?
寫一條SQL查詢語句獲取合作過至少三次的演員和導演的 id 對?(actor_id, director_id)
示例:
ActorDirector 表:
+-------------+-------------+-------------+
| actor_id ? ?| director_id | timestamp ? |
+-------------+-------------+-------------+
| 1 ? ? ? ? ? | 1 ? ? ? ? ? | 0 ? ? ? ? ? |
| 1 ? ? ? ? ? | 1 ? ? ? ? ? | 1 ? ? ? ? ? |
| 1 ? ? ? ? ? | 1 ? ? ? ? ? | 2 ? ? ? ? ? |
| 1 ? ? ? ? ? | 2 ? ? ? ? ? | 3 ? ? ? ? ? |
| 1 ? ? ? ? ? | 2 ? ? ? ? ? | 4 ? ? ? ? ? |
| 2 ? ? ? ? ? | 1 ? ? ? ? ? | 5 ? ? ? ? ? |
| 2 ? ? ? ? ? | 1 ? ? ? ? ? | 6 ? ? ? ? ? |
+-------------+-------------+-------------+
Result 表:
+-------------+-------------+
| actor_id ? ?| director_id |
+-------------+-------------+
| 1 ? ? ? ? ? | 1 ? ? ? ? ? |
+-------------+-------------+
唯一的 id 對是 (1, 1),他們恰好合作了 3 次。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/actors-and-directors-who-cooperated-at-least-three-times
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1068. 產(chǎn)品銷售分析 I
銷售表?Sales:
+-------------+-------+
| Column Name | Type ?|
+-------------+-------+
| sale_id ? ? | int ? |
| product_id ?| int ? |
| year ? ? ? ?| int ? |
| quantity ? ?| int ? |
| price ? ? ? | int ? |
+-------------+-------+
(sale_id, year) 是銷售表 Sales 的主鍵.
product_id 是關聯(lián)到產(chǎn)品表 Product 的外鍵.
注意: price 表示每單位價格
產(chǎn)品表?Product:
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| product_id ? | int ? ? |
| product_name | varchar |
+--------------+---------+
product_id?是表的主鍵.
?
寫一條SQL?查詢語句獲取 Sales?表中所有產(chǎn)品對應的 產(chǎn)品名稱 product_name 以及該產(chǎn)品的所有 售賣年份 year?和 價格 price 。
示例:
Sales 表:
+---------+------------+------+----------+-------+
| sale_id | product_id | year | quantity | price |
+---------+------------+------+----------+-------+?
| 1 ? ? ? | 100 ? ? ? ?| 2008 | 10 ? ? ? | 5000 ?|
| 2 ? ? ? | 100 ? ? ? ?| 2009 | 12 ? ? ? | 5000 ?|
| 7 ? ? ? | 200 ? ? ? ?| 2011 | 15 ? ? ? | 9000 ?|
+---------+------------+------+----------+-------+
Product 表:
+------------+--------------+
| product_id | product_name |
+------------+--------------+
| 100 ? ? ? ?| Nokia ? ? ? ?|
| 200 ? ? ? ?| Apple ? ? ? ?|
| 300 ? ? ? ?| Samsung ? ? ?|
+------------+--------------+
Result 表:
+--------------+-------+-------+
| product_name | year ?| price |
+--------------+-------+-------+
| Nokia ? ? ? ?| 2008 ?| 5000 ?|
| Nokia ? ? ? ?| 2009 ?| 5000 ?|
| Apple ? ? ? ?| 2011 ?| 9000 ?|
+--------------+-------+-------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/product-sales-analysis-i
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1069. 產(chǎn)品銷售分析 II
銷售表:Sales
+-------------+-------+
| Column Name | Type ?|
+-------------+-------+
| sale_id ? ? | int ? |
| product_id ?| int ? |
| year ? ? ? ?| int ? |
| quantity ? ?| int ? |
| price ? ? ? | int ? |
+-------------+-------+
sale_id 是這個表的主鍵。
product_id 是 Product 表的外鍵。
請注意價格是每單位的。
產(chǎn)品表:Product
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| product_id ? | int ? ? |
| product_name | varchar |
+--------------+---------+
product_id 是這個表的主鍵。
?
編寫一個 SQL 查詢,按產(chǎn)品 id product_id 來統(tǒng)計每個產(chǎn)品的銷售總量。
查詢結(jié)果格式如下面例子所示:
Sales 表:
+---------+------------+------+----------+-------+
| sale_id | product_id | year | quantity | price |
+---------+------------+------+----------+-------+?
| 1 ? ? ? | 100 ? ? ? ?| 2008 | 10 ? ? ? | 5000 ?|
| 2 ? ? ? | 100 ? ? ? ?| 2009 | 12 ? ? ? | 5000 ?|
| 7 ? ? ? | 200 ? ? ? ?| 2011 | 15 ? ? ? | 9000 ?|
+---------+------------+------+----------+-------+
Product 表:
+------------+--------------+
| product_id | product_name |
+------------+--------------+
| 100 ? ? ? ?| Nokia ? ? ? ?|
| 200 ? ? ? ?| Apple ? ? ? ?|
| 300 ? ? ? ?| Samsung ? ? ?|
+------------+--------------+
Result 表:
+--------------+----------------+
| product_id ? | total_quantity |
+--------------+----------------+
| 100 ? ? ? ? ?| 22 ? ? ? ? ? ? |
| 200 ? ? ? ? ?| 15 ? ? ? ? ? ? |
+--------------+----------------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/product-sales-analysis-ii
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1075. 項目員工 I
項目表?Project:?
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| project_id ?| int ? ? |
| employee_id | int ? ? |
+-------------+---------+
主鍵為 (project_id, employee_id)。
employee_id 是員工表 Employee 表的外鍵。
員工表?Employee:
+------------------+---------+
| Column Name ? ? ?| Type ? ?|
+------------------+---------+
| employee_id ? ? ?| int ? ? |
| name ? ? ? ? ? ? | varchar |
| experience_years | int ? ? |
+------------------+---------+
主鍵是 employee_id。
?
請寫一個 SQL?語句,查詢每一個項目中員工的?平均?工作年限,精確到小數(shù)點后兩位。
查詢結(jié)果的格式如下:
Project 表:
+-------------+-------------+
| project_id ?| employee_id |
+-------------+-------------+
| 1 ? ? ? ? ? | 1 ? ? ? ? ? |
| 1 ? ? ? ? ? | 2 ? ? ? ? ? |
| 1 ? ? ? ? ? | 3 ? ? ? ? ? |
| 2 ? ? ? ? ? | 1 ? ? ? ? ? |
| 2 ? ? ? ? ? | 4 ? ? ? ? ? |
+-------------+-------------+
Employee 表:
+-------------+--------+------------------+
| employee_id | name ? | experience_years |
+-------------+--------+------------------+
| 1 ? ? ? ? ? | Khaled | 3 ? ? ? ? ? ? ? ?|
| 2 ? ? ? ? ? | Ali ? ?| 2 ? ? ? ? ? ? ? ?|
| 3 ? ? ? ? ? | John ? | 1 ? ? ? ? ? ? ? ?|
| 4 ? ? ? ? ? | Doe ? ?| 2 ? ? ? ? ? ? ? ?|
+-------------+--------+------------------+
Result 表:
+-------------+---------------+
| project_id ?| average_years |
+-------------+---------------+
| 1 ? ? ? ? ? | 2.00 ? ? ? ? ?|
| 2 ? ? ? ? ? | 2.50 ? ? ? ? ?|
+-------------+---------------+
第一個項目中,員工的平均工作年限是 (3 + 2 + 1) / 3 = 2.00;第二個項目中,員工的平均工作年限是 (3 + 2) / 2 = 2.50
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/project-employees-i
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1076. 項目員工II
Table:?Project
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| project_id ?| int ? ? |
| employee_id | int ? ? |
+-------------+---------+
主鍵為 (project_id, employee_id)。
employee_id 是員工表 Employee 表的外鍵。
Table:?Employee
+------------------+---------+
| Column Name ? ? ?| Type ? ?|
+------------------+---------+
| employee_id ? ? ?| int ? ? |
| name ? ? ? ? ? ? | varchar |
| experience_years | int ? ? |
+------------------+---------+
主鍵是 employee_id。
?
編寫一個SQL查詢,報告所有雇員最多的項目。
查詢結(jié)果格式如下所示:
Project table:
+-------------+-------------+
| project_id ?| employee_id |
+-------------+-------------+
| 1 ? ? ? ? ? | 1 ? ? ? ? ? |
| 1 ? ? ? ? ? | 2 ? ? ? ? ? |
| 1 ? ? ? ? ? | 3 ? ? ? ? ? |
| 2 ? ? ? ? ? | 1 ? ? ? ? ? |
| 2 ? ? ? ? ? | 4 ? ? ? ? ? |
+-------------+-------------+
Employee table:
+-------------+--------+------------------+
| employee_id | name ? | experience_years |
+-------------+--------+------------------+
| 1 ? ? ? ? ? | Khaled | 3 ? ? ? ? ? ? ? ?|
| 2 ? ? ? ? ? | Ali ? ?| 2 ? ? ? ? ? ? ? ?|
| 3 ? ? ? ? ? | John ? | 1 ? ? ? ? ? ? ? ?|
| 4 ? ? ? ? ? | Doe ? ?| 2 ? ? ? ? ? ? ? ?|
+-------------+--------+------------------+
Result table:
+-------------+
| project_id ?|
+-------------+
| 1 ? ? ? ? ? |
+-------------+
第一個項目有3名員工,第二個項目有2名員工。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/project-employees-ii
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1082. 銷售分析 I?
產(chǎn)品表:Product
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| product_id ? | int ? ? |
| product_name | varchar |
| unit_price ? | int ? ? |
+--------------+---------+
product_id 是這個表的主鍵.
銷售表:Sales
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| seller_id ? | int ? ? |
| product_id ?| int ? ? |
| buyer_id ? ?| int ? ? |
| sale_date ? | date ? ?|
| quantity ? ?| int ? ? |
| price ? ? ? | int ? ? |
+------ ------+---------+
這個表沒有主鍵,它可以有重復的行.
product_id 是 Product 表的外鍵.
?
編寫一個 SQL 查詢,查詢總銷售額最高的銷售者,如果有并列的,就都展示出來。
查詢結(jié)果格式如下所示:
Product 表:
+------------+--------------+------------+
| product_id | product_name | unit_price |
+------------+--------------+------------+
| 1 ? ? ? ? ?| S8 ? ? ? ? ? | 1000 ? ? ? |
| 2 ? ? ? ? ?| G4 ? ? ? ? ? | 800 ? ? ? ?|
| 3 ? ? ? ? ?| iPhone ? ? ? | 1400 ? ? ? |
+------------+--------------+------------+
Sales 表:
+-----------+------------+----------+------------+----------+-------+
| seller_id | product_id | buyer_id | sale_date ?| quantity | price |
+-----------+------------+----------+------------+----------+-------+
| 1 ? ? ? ? | 1 ? ? ? ? ?| 1 ? ? ? ?| 2019-01-21 | 2 ? ? ? ?| 2000 ?|
| 1 ? ? ? ? | 2 ? ? ? ? ?| 2 ? ? ? ?| 2019-02-17 | 1 ? ? ? ?| 800 ? |
| 2 ? ? ? ? | 2 ? ? ? ? ?| 3 ? ? ? ?| 2019-06-02 | 1 ? ? ? ?| 800 ? |
| 3 ? ? ? ? | 3 ? ? ? ? ?| 4 ? ? ? ?| 2019-05-13 | 2 ? ? ? ?| 2800 ?|
+-----------+------------+----------+------------+----------+-------+
Result 表:
+-------------+
| seller_id ? |
+-------------+
| 1 ? ? ? ? ? |
| 3 ? ? ? ? ? |
+-------------+
Id 為 1 和 3 的銷售者,銷售總金額都為最高的 2800。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sales-analysis-i
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1083. 銷售分析 II
Table:?Product
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| product_id ? | int ? ? |
| product_name | varchar |
| unit_price ? | int ? ? |
+--------------+---------+
product_id 是這張表的主鍵
Table:?Sales
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| seller_id ? | int ? ? |
| product_id ?| int ? ? |
| buyer_id ? ?| int ? ? |
| sale_date ? | date ? ?|
| quantity ? ?| int ? ? |
| price ? ? ? | int ? ? |
+------ ------+---------+
這個表沒有主鍵,它可以有重復的行.
product_id 是 Product 表的外鍵.
編寫一個 SQL 查詢,查詢購買了 S8 手機卻沒有購買 iPhone 的買家。注意這里 S8 和 iPhone 是 Product 表中的產(chǎn)品。
查詢結(jié)果格式如下圖表示:
Product table:
+------------+--------------+------------+
| product_id | product_name | unit_price |
+------------+--------------+------------+
| 1 ? ? ? ? ?| S8 ? ? ? ? ? | 1000 ? ? ? |
| 2 ? ? ? ? ?| G4 ? ? ? ? ? | 800 ? ? ? ?|
| 3 ? ? ? ? ?| iPhone ? ? ? | 1400 ? ? ? |
+------------+--------------+------------+
Sales table:
+-----------+------------+----------+------------+----------+-------+
| seller_id | product_id | buyer_id | sale_date ?| quantity | price |
+-----------+------------+----------+------------+----------+-------+
| 1 ? ? ? ? | 1 ? ? ? ? ?| 1 ? ? ? ?| 2019-01-21 | 2 ? ? ? ?| 2000 ?|
| 1 ? ? ? ? | 2 ? ? ? ? ?| 2 ? ? ? ?| 2019-02-17 | 1 ? ? ? ?| 800 ? |
| 2 ? ? ? ? | 1 ? ? ? ? ?| 3 ? ? ? ?| 2019-06-02 | 1 ? ? ? ?| 800 ? |
| 3 ? ? ? ? | 3 ? ? ? ? ?| 3 ? ? ? ?| 2019-05-13 | 2 ? ? ? ?| 2800 ?|
+-----------+------------+----------+------------+----------+-------+
Result table:
+-------------+
| buyer_id ? ?|
+-------------+
| 1 ? ? ? ? ? |
+-------------+
id 為 1 的買家購買了一部 S8,但是卻沒有購買 iPhone,而 id 為 3 的買家卻同時購買了這 2 部手機。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sales-analysis-ii
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1084. 銷售分析III
Table:?Product
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| product_id ? | int ? ? |
| product_name | varchar |
| unit_price ? | int ? ? |
+--------------+---------+
product_id 是這個表的主鍵
Table:?Sales
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| seller_id ? | int ? ? |
| product_id ?| int ? ? |
| buyer_id ? ?| int ? ? |
| sale_date ? | date ? ?|
| quantity ? ?| int ? ? |
| price ? ? ? | int ? ? |
+------ ------+---------+
這個表沒有主鍵,它可以有重復的行.
product_id 是 Product 表的外鍵.
?
編寫一個SQL查詢,報告2019年春季才售出的產(chǎn)品。即僅在2019-01-01至2019-03-31(含)之間出售的商品。
查詢結(jié)果格式如下所示:
Product table:
+------------+--------------+------------+
| product_id | product_name | unit_price |
+------------+--------------+------------+
| 1 ? ? ? ? ?| S8 ? ? ? ? ? | 1000 ? ? ? |
| 2 ? ? ? ? ?| G4 ? ? ? ? ? | 800 ? ? ? ?|
| 3 ? ? ? ? ?| iPhone ? ? ? | 1400 ? ? ? |
+------------+--------------+------------+
Sales table:
+-----------+------------+----------+------------+----------+-------+
| seller_id | product_id | buyer_id | sale_date ?| quantity | price |
+-----------+------------+----------+------------+----------+-------+
| 1 ? ? ? ? | 1 ? ? ? ? ?| 1 ? ? ? ?| 2019-01-21 | 2 ? ? ? ?| 2000 ?|
| 1 ? ? ? ? | 2 ? ? ? ? ?| 2 ? ? ? ?| 2019-02-17 | 1 ? ? ? ?| 800 ? |
| 2 ? ? ? ? | 2 ? ? ? ? ?| 3 ? ? ? ?| 2019-06-02 | 1 ? ? ? ?| 800 ? |
| 3 ? ? ? ? | 3 ? ? ? ? ?| 4 ? ? ? ?| 2019-05-13 | 2 ? ? ? ?| 2800 ?|
+-----------+------------+----------+------------+----------+-------+
Result table:
+-------------+--------------+
| product_id ?| product_name |
+-------------+--------------+
| 1 ? ? ? ? ? | S8 ? ? ? ? ? |
+-------------+--------------+
id為1的產(chǎn)品僅在2019年春季銷售,其他兩個產(chǎn)品在之后銷售。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sales-analysis-iii
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1113. 報告的記錄
動作表:Actions
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| user_id ? ? ? | int ? ? |
| post_id ? ? ? | int ? ? |
| action_date ? | date ? ?|?
| action ? ? ? ?| enum ? ?|
| extra ? ? ? ? | varchar |
+---------------+---------+
此表沒有主鍵,所以可能會有重復的行。
action 字段是 ENUM 類型的,包含:('view', 'like', 'reaction', 'comment', 'report', 'share')
extra 字段是可選的信息(可能為 null),其中的信息例如有:1.報告理由(a reason for report) 2.反應類型(a type of reaction)
?
編寫一條SQL,查詢每種?報告理由(report reason)在昨天的不同報告數(shù)量(post_id)。假設今天是?2019-07-05。
查詢及結(jié)果的格式示例:
Actions table:
+---------+---------+-------------+--------+--------+
| user_id | post_id | action_date | action | extra ?|
+---------+---------+-------------+--------+--------+
| 1 ? ? ? | 1 ? ? ? | 2019-07-01 ?| view ? | null ? |
| 1 ? ? ? | 1 ? ? ? | 2019-07-01 ?| like ? | null ? |
| 1 ? ? ? | 1 ? ? ? | 2019-07-01 ?| share ?| null ? |
| 2 ? ? ? | 4 ? ? ? | 2019-07-04 ?| view ? | null ? |
| 2 ? ? ? | 4 ? ? ? | 2019-07-04 ?| report | spam ? |
| 3 ? ? ? | 4 ? ? ? | 2019-07-04 ?| view ? | null ? |
| 3 ? ? ? | 4 ? ? ? | 2019-07-04 ?| report | spam ? |
| 4 ? ? ? | 3 ? ? ? | 2019-07-02 ?| view ? | null ? |
| 4 ? ? ? | 3 ? ? ? | 2019-07-02 ?| report | spam ? |
| 5 ? ? ? | 2 ? ? ? | 2019-07-04 ?| view ? | null ? |
| 5 ? ? ? | 2 ? ? ? | 2019-07-04 ?| report | racism |
| 5 ? ? ? | 5 ? ? ? | 2019-07-04 ?| view ? | null ? |
| 5 ? ? ? | 5 ? ? ? | 2019-07-04 ?| report | racism |
+---------+---------+-------------+--------+--------+
Result table:
+---------------+--------------+
| report_reason | report_count |
+---------------+--------------+
| spam ? ? ? ? ?| 1 ? ? ? ? ? ?|
| racism ? ? ? ?| 2 ? ? ? ? ? ?|
+---------------+--------------+?
注意,我們只關心報告數(shù)量非零的結(jié)果。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/reported-posts
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1141. 查詢近30天活躍用戶數(shù)
活動記錄表:Activity
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| user_id ? ? ? | int ? ? |
| session_id ? ?| int ? ? |
| activity_date | date ? ?|
| activity_type | enum ? ?|
+---------------+---------+
該表是用戶在社交網(wǎng)站的活動記錄。
該表沒有主鍵,可能包含重復數(shù)據(jù)。
activity_type 字段為以下四種值 ('open_session', 'end_session', 'scroll_down', 'send_message')。
每個 session_id 只屬于一個用戶。
?
請寫SQL查詢出截至?2019-07-27(包含2019-07-27),近?30天的每日活躍用戶數(shù)(當天只要有一條活動記錄,即為活躍用戶)。
查詢結(jié)果示例如下:
Activity table:
+---------+------------+---------------+---------------+
| user_id | session_id | activity_date | activity_type |
+---------+------------+---------------+---------------+
| 1 ? ? ? | 1 ? ? ? ? ?| 2019-07-20 ? ?| open_session ?|
| 1 ? ? ? | 1 ? ? ? ? ?| 2019-07-20 ? ?| scroll_down ? |
| 1 ? ? ? | 1 ? ? ? ? ?| 2019-07-20 ? ?| end_session ? |
| 2 ? ? ? | 4 ? ? ? ? ?| 2019-07-20 ? ?| open_session ?|
| 2 ? ? ? | 4 ? ? ? ? ?| 2019-07-21 ? ?| send_message ?|
| 2 ? ? ? | 4 ? ? ? ? ?| 2019-07-21 ? ?| end_session ? |
| 3 ? ? ? | 2 ? ? ? ? ?| 2019-07-21 ? ?| open_session ?|
| 3 ? ? ? | 2 ? ? ? ? ?| 2019-07-21 ? ?| send_message ?|
| 3 ? ? ? | 2 ? ? ? ? ?| 2019-07-21 ? ?| end_session ? |
| 4 ? ? ? | 3 ? ? ? ? ?| 2019-06-25 ? ?| open_session ?|
| 4 ? ? ? | 3 ? ? ? ? ?| 2019-06-25 ? ?| end_session ? |
+---------+------------+---------------+---------------+
Result table:
+------------+--------------+?
| day ? ? ? ?| active_users |
+------------+--------------+?
| 2019-07-20 | 2 ? ? ? ? ? ?|
| 2019-07-21 | 2 ? ? ? ? ? ?|
+------------+--------------+?
非活躍用戶的記錄不需要展示。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/user-activity-for-the-past-30-days-i
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1142. 過去30天的用戶活動 II
Table: Activity
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| user_id ? ? ? | int ? ? |
| session_id ? ?| int ? ? |
| activity_date | date ? ?|
| activity_type | enum ? ?|
+---------------+---------+
該表沒有主鍵,它可能有重復的行。
activity_type 列是 ENUM(“ open_session”,“ end_session”,“ scroll_down”,“ send_message”)中的某一類型。
該表顯示了社交媒體網(wǎng)站的用戶活動。
請注意,每個會話完全屬于一個用戶。
?
編寫SQL查詢以查找截至2019年7月27日(含)的30天內(nèi)每個用戶的平均會話數(shù),四舍五入到小數(shù)點后兩位。我們只統(tǒng)計那些會話期間用戶至少進行一項活動的有效會話。
查詢結(jié)果格式如下例所示:
Activity table:
+---------+------------+---------------+---------------+
| user_id | session_id | activity_date | activity_type |
+---------+------------+---------------+---------------+
| 1 ? ? ? | 1 ? ? ? ? ?| 2019-07-20 ? ?| open_session ?|
| 1 ? ? ? | 1 ? ? ? ? ?| 2019-07-20 ? ?| scroll_down ? |
| 1 ? ? ? | 1 ? ? ? ? ?| 2019-07-20 ? ?| end_session ? |
| 2 ? ? ? | 4 ? ? ? ? ?| 2019-07-20 ? ?| open_session ?|
| 2 ? ? ? | 4 ? ? ? ? ?| 2019-07-21 ? ?| send_message ?|
| 2 ? ? ? | 4 ? ? ? ? ?| 2019-07-21 ? ?| end_session ? |
| 3 ? ? ? | 2 ? ? ? ? ?| 2019-07-21 ? ?| open_session ?|
| 3 ? ? ? | 2 ? ? ? ? ?| 2019-07-21 ? ?| send_message ?|
| 3 ? ? ? | 2 ? ? ? ? ?| 2019-07-21 ? ?| end_session ? |
| 3 ? ? ? | 5 ? ? ? ? ?| 2019-07-21 ? ?| open_session ?|
| 3 ? ? ? | 5 ? ? ? ? ?| 2019-07-21 ? ?| scroll_down ? |
| 3 ? ? ? | 5 ? ? ? ? ?| 2019-07-21 ? ?| end_session ? |
| 4 ? ? ? | 3 ? ? ? ? ?| 2019-06-25 ? ?| open_session ?|
| 4 ? ? ? | 3 ? ? ? ? ?| 2019-06-25 ? ?| end_session ? |
+---------+------------+---------------+---------------+
Result table:
+---------------------------+?
| average_sessions_per_user |
+---------------------------+?
| 1.33 ? ? ? ? ? ? ? ? ? ? ?|
+---------------------------+?
User 1 和 2 在過去30天內(nèi)各自進行了1次會話,而用戶3進行了2次會話,因此平均值為(1 +1 + 2)/ 3 = 1.33。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/user-activity-for-the-past-30-days-ii
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1148. 文章瀏覽 I
Views?表:
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| article_id ? ?| int ? ? |
| author_id ? ? | int ? ? |
| viewer_id ? ? | int ? ? |
| view_date ? ? | date ? ?|
+---------------+---------+
此表無主鍵,因此可能會存在重復行。
此表的每一行都表示某人在某天瀏覽了某位作者的某篇文章。
請注意,同一人的 author_id 和 viewer_id 是相同的。
?
請編寫一條 SQL 查詢以找出所有瀏覽過自己文章的作者,結(jié)果按照 id 升序排列。
查詢結(jié)果的格式如下所示:
Views 表:
+------------+-----------+-----------+------------+
| article_id | author_id | viewer_id | view_date ?|
+------------+-----------+-----------+------------+
| 1 ? ? ? ? ?| 3 ? ? ? ? | 5 ? ? ? ? | 2019-08-01 |
| 1 ? ? ? ? ?| 3 ? ? ? ? | 6 ? ? ? ? | 2019-08-02 |
| 2 ? ? ? ? ?| 7 ? ? ? ? | 7 ? ? ? ? | 2019-08-01 |
| 2 ? ? ? ? ?| 7 ? ? ? ? | 6 ? ? ? ? | 2019-08-02 |
| 4 ? ? ? ? ?| 7 ? ? ? ? | 1 ? ? ? ? | 2019-07-22 |
| 3 ? ? ? ? ?| 4 ? ? ? ? | 4 ? ? ? ? | 2019-07-21 |
| 3 ? ? ? ? ?| 4 ? ? ? ? | 4 ? ? ? ? | 2019-07-21 |
+------------+-----------+-----------+------------+
結(jié)果表:
+------+
| id ? |
+------+
| 4 ? ?|
| 7 ? ?|
+------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/article-views-i
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1173. 即時食物配送 I
配送表: Delivery
+-----------------------------+---------+
| Column Name ? ? ? ? ? ? ? ? | Type ? ?|
+-----------------------------+---------+
| delivery_id ? ? ? ? ? ? ? ? | int ? ? |
| customer_id ? ? ? ? ? ? ? ? | int ? ? |
| order_date ? ? ? ? ? ? ? ? ?| date ? ?|
| customer_pref_delivery_date | date ? ?|
+-----------------------------+---------+
delivery_id 是表的主鍵。
該表保存著顧客的食物配送信息,顧客在某個日期下了訂單,并指定了一個期望的配送日期(和下單日期相同或者在那之后)。
?
如果顧客期望的配送日期和下單日期相同,則該訂單稱為 「即時訂單」,否則稱為「計劃訂單」。
寫一條 SQL?查詢語句獲取即時訂單所占的百分比,?保留兩位小數(shù)。
查詢結(jié)果如下所示:
Delivery 表:
+-------------+-------------+------------+-----------------------------+
| delivery_id | customer_id | order_date | customer_pref_delivery_date |
+-------------+-------------+------------+-----------------------------+
| 1 ? ? ? ? ? | 1 ? ? ? ? ? | 2019-08-01 | 2019-08-02 ? ? ? ? ? ? ? ? ?|
| 2 ? ? ? ? ? | 5 ? ? ? ? ? | 2019-08-02 | 2019-08-02 ? ? ? ? ? ? ? ? ?|
| 3 ? ? ? ? ? | 1 ? ? ? ? ? | 2019-08-11 | 2019-08-11 ? ? ? ? ? ? ? ? ?|
| 4 ? ? ? ? ? | 3 ? ? ? ? ? | 2019-08-24 | 2019-08-26 ? ? ? ? ? ? ? ? ?|
| 5 ? ? ? ? ? | 4 ? ? ? ? ? | 2019-08-21 | 2019-08-22 ? ? ? ? ? ? ? ? ?|
| 6 ? ? ? ? ? | 2 ? ? ? ? ? | 2019-08-11 | 2019-08-13 ? ? ? ? ? ? ? ? ?|
+-------------+-------------+------------+-----------------------------+
Result 表:
+----------------------+
| immediate_percentage |
+----------------------+
| 33.33 ? ? ? ? ? ? ? ?|
+----------------------+
2 和 3 號訂單為即時訂單,其他的為計劃訂單
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/immediate-food-delivery-i
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1179. 重新格式化部門表
部門表?Department:
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| id ? ? ? ? ? ?| int ? ? |
| revenue ? ? ? | int ? ? |
| month ? ? ? ? | varchar |
+---------------+---------+
(id, month) 是表的聯(lián)合主鍵。
這個表格有關于每個部門每月收入的信息。
月份(month)可以取下列值 ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]。
?
編寫一個 SQL 查詢來重新格式化表,使得新的表中有一個部門 id 列和一些對應?每個月 的收入(revenue)列。
查詢結(jié)果格式如下面的示例所示:
Department 表:
+------+---------+-------+
| id ? | revenue | month |
+------+---------+-------+
| 1 ? ?| 8000 ? ?| Jan ? |
| 2 ? ?| 9000 ? ?| Jan ? |
| 3 ? ?| 10000 ? | Feb ? |
| 1 ? ?| 7000 ? ?| Feb ? |
| 1 ? ?| 6000 ? ?| Mar ? |
+------+---------+-------+
查詢得到的結(jié)果表:
+------+-------------+-------------+-------------+-----+-------------+
| id ? | Jan_Revenue | Feb_Revenue | Mar_Revenue | ... | Dec_Revenue |
+------+-------------+-------------+-------------+-----+-------------+
| 1 ? ?| 8000 ? ? ? ?| 7000 ? ? ? ?| 6000 ? ? ? ?| ... | null ? ? ? ?|
| 2 ? ?| 9000 ? ? ? ?| null ? ? ? ?| null ? ? ? ?| ... | null ? ? ? ?|
| 3 ? ?| null ? ? ? ?| 10000 ? ? ? | null ? ? ? ?| ... | null ? ? ? ?|
+------+-------------+-------------+-------------+-----+-------------+
注意,結(jié)果表有 13 列 (1個部門 id 列 + 12個月份的收入列)。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/reformat-department-table
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1211. 查詢結(jié)果的質(zhì)量和占比
查詢表 Queries:?
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| query_name ?| varchar |
| result ? ? ?| varchar |
| position ? ?| int ? ? |
| rating ? ? ?| int ? ? |
+-------------+---------+
此表沒有主鍵,并可能有重復的行。
此表包含了一些從數(shù)據(jù)庫中收集的查詢信息。
“位置”(position)列的值為 1 到 500 。
“評分”(rating)列的值為 1 到 5 。評分小于 3 的查詢被定義為質(zhì)量很差的查詢。
?
將查詢結(jié)果的質(zhì)量 quality 定義為:
各查詢結(jié)果的評分與其位置之間比率的平均值。
將劣質(zhì)查詢百分比?poor_query_percentage 為:
評分小于 3 的查詢結(jié)果占全部查詢結(jié)果的百分比。
編寫一組 SQL 來查找每次查詢的名稱(query_name)、質(zhì)量(quality) 和?劣質(zhì)查詢百分比(poor_query_percentage)。
質(zhì)量(quality) 和劣質(zhì)查詢百分比(poor_query_percentage) 都應四舍五入到小數(shù)點后兩位。
查詢結(jié)果格式如下所示:
Queries table:
+------------+-------------------+----------+--------+
| query_name | result ? ? ? ? ? ?| position | rating |
+------------+-------------------+----------+--------+
| Dog ? ? ? ?| Golden Retriever ?| 1 ? ? ? ?| 5 ? ? ?|
| Dog ? ? ? ?| German Shepherd ? | 2 ? ? ? ?| 5 ? ? ?|
| Dog ? ? ? ?| Mule ? ? ? ? ? ? ?| 200 ? ? ?| 1 ? ? ?|
| Cat ? ? ? ?| Shirazi ? ? ? ? ? | 5 ? ? ? ?| 2 ? ? ?|
| Cat ? ? ? ?| Siamese ? ? ? ? ? | 3 ? ? ? ?| 3 ? ? ?|
| Cat ? ? ? ?| Sphynx ? ? ? ? ? ?| 7 ? ? ? ?| 4 ? ? ?|
+------------+-------------------+----------+--------+
Result table:
+------------+---------+-----------------------+
| query_name | quality | poor_query_percentage |
+------------+---------+-----------------------+
| Dog ? ? ? ?| 2.50 ? ?| 33.33 ? ? ? ? ? ? ? ? |
| Cat ? ? ? ?| 0.66 ? ?| 33.33 ? ? ? ? ? ? ? ? |
+------------+---------+-----------------------+
Dog 查詢結(jié)果的質(zhì)量為 ((5 / 1) + (5 / 2) + (1 / 200)) / 3 = 2.50
Dog 查詢結(jié)果的劣質(zhì)查詢百分比為 (1 / 3) * 100 = 33.33
Cat 查詢結(jié)果的質(zhì)量為 ((2 / 5) + (3 / 3) + (4 / 7)) / 3 = 0.66
Cat 查詢結(jié)果的劣質(zhì)查詢百分比為 (1 / 3) * 100 = 33.33
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/queries-quality-and-percentage
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1241. 每個帖子的評論數(shù)
表?Submissions 結(jié)構(gòu)如下:
+---------------+----------+
| 列名 ? ? ? ? ? | 類型 ? ? |
+---------------+----------+
| sub_id ? ? ? ?| int ? ? ?|
| parent_id ? ? | int ? ? ?|
+---------------+----------+
上表沒有主鍵, 所以可能會出現(xiàn)重復的行。
每行可以是一個帖子或?qū)υ撎拥脑u論。
如果是帖子的話,parent_id 就是 null。
對于評論來說,parent_id 就是表中對應帖子的 sub_id。
?
編寫 SQL 語句以查找每個帖子的評論數(shù)。
結(jié)果表應包含帖子的?post_id 和對應的評論數(shù)?number_of_comments 并且按?post_id?升序排列。
Submissions 可能包含重復的評論。您應該計算每個帖子的唯一評論數(shù)。
Submissions 可能包含重復的帖子。您應該將它們視為一個帖子。
查詢結(jié)果格式如下例所示:
Submissions table:
+---------+------------+
| sub_id ?| parent_id ?|
+---------+------------+
| 1 ? ? ? | Null ? ? ? |
| 2 ? ? ? | Null ? ? ? |
| 1 ? ? ? | Null ? ? ? |
| 12 ? ? ?| Null ? ? ? |
| 3 ? ? ? | 1 ? ? ? ? ?|
| 5 ? ? ? | 2 ? ? ? ? ?|
| 3 ? ? ? | 1 ? ? ? ? ?|
| 4 ? ? ? | 1 ? ? ? ? ?|
| 9 ? ? ? | 1 ? ? ? ? ?|
| 10 ? ? ?| 2 ? ? ? ? ?|
| 6 ? ? ? | 7 ? ? ? ? ?|
+---------+------------+
結(jié)果表:
+---------+--------------------+
| post_id | number_of_comments |
+---------+--------------------+
| 1 ? ? ? | 3 ? ? ? ? ? ? ? ? ?|
| 2 ? ? ? | 2 ? ? ? ? ? ? ? ? ?|
| 12 ? ? ?| 0 ? ? ? ? ? ? ? ? ?|
+---------+--------------------+
表中 ID 為 1 的帖子有 ID 為 3、4 和 9 的三個評論。表中 ID 為 3 的評論重復出現(xiàn)了,所以我們只對它進行了一次計數(shù)。
表中 ID 為 2 的帖子有 ID 為 5 和 10 的兩個評論。
ID 為 12 的帖子在表中沒有評論。
表中 ID 為 6 的評論是對 ID 為 7 的已刪除帖子的評論,因此我們將其忽略。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/number-of-comments-per-post
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1251. 平均售價
Table: Prices
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| product_id ? ?| int ? ? |
| start_date ? ?| date ? ?|
| end_date ? ? ?| date ? ?|
| price ? ? ? ? | int ? ? |
+---------------+---------+
(product_id,start_date,end_date) 是 Prices 表的主鍵。
Prices 表的每一行表示的是某個產(chǎn)品在一段時期內(nèi)的價格。
每個產(chǎn)品的對應時間段是不會重疊的,這也意味著同一個產(chǎn)品的價格時段不會出現(xiàn)交叉。
?
Table: UnitsSold
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| product_id ? ?| int ? ? |
| purchase_date | date ? ?|
| units ? ? ? ? | int ? ? |
+---------------+---------+
UnitsSold 表沒有主鍵,它可能包含重復項。
UnitsSold 表的每一行表示的是每種產(chǎn)品的出售日期,單位和產(chǎn)品 id。
?
編寫SQL查詢以查找每種產(chǎn)品的平均售價。
average_price 應該四舍五入到小數(shù)點后兩位。
查詢結(jié)果格式如下例所示:
Prices table:
+------------+------------+------------+--------+
| product_id | start_date | end_date ? | price ?|
+------------+------------+------------+--------+
| 1 ? ? ? ? ?| 2019-02-17 | 2019-02-28 | 5 ? ? ?|
| 1 ? ? ? ? ?| 2019-03-01 | 2019-03-22 | 20 ? ? |
| 2 ? ? ? ? ?| 2019-02-01 | 2019-02-20 | 15 ? ? |
| 2 ? ? ? ? ?| 2019-02-21 | 2019-03-31 | 30 ? ? |
+------------+------------+------------+--------+
?
UnitsSold table:
+------------+---------------+-------+
| product_id | purchase_date | units |
+------------+---------------+-------+
| 1 ? ? ? ? ?| 2019-02-25 ? ?| 100 ? |
| 1 ? ? ? ? ?| 2019-03-01 ? ?| 15 ? ?|
| 2 ? ? ? ? ?| 2019-02-10 ? ?| 200 ? |
| 2 ? ? ? ? ?| 2019-03-22 ? ?| 30 ? ?|
+------------+---------------+-------+
Result table:
+------------+---------------+
| product_id | average_price |
+------------+---------------+
| 1 ? ? ? ? ?| 6.96 ? ? ? ? ?|
| 2 ? ? ? ? ?| 16.96 ? ? ? ? |
+------------+---------------+
平均售價 = 產(chǎn)品總價 / 銷售的產(chǎn)品數(shù)量。
產(chǎn)品 1 的平均售價 = ((100 * 5)+(15 * 20) )/ 115 = 6.96
產(chǎn)品 2 的平均售價 = ((200 * 15)+(30 * 30) )/ 230 = 16.96
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/average-selling-price
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1280. 學生們參加各科測試的次數(shù)
學生表: Students
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| student_id ? ?| int ? ? |
| student_name ?| varchar |
+---------------+---------+
主鍵為 student_id(學生ID),該表內(nèi)的每一行都記錄有學校一名學生的信息。
?
科目表: Subjects
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| subject_name | varchar |
+--------------+---------+
主鍵為 subject_name(科目名稱),每一行記錄學校的一門科目名稱。
?
考試表: Examinations
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| student_id ? | int ? ? |
| subject_name | varchar |
+--------------+---------+
這張表壓根沒有主鍵,可能會有重復行。
學生表里的一個學生修讀科目表里的每一門科目,而這張考試表的每一行記錄就表示學生表里的某個學生參加了一次科目表里某門科目的測試。
?
要求寫一段 SQL 語句,查詢出每個學生參加每一門科目測試的次數(shù),結(jié)果按 student_id 和 subject_name 排序。
查詢結(jié)構(gòu)格式如下所示:
Students table:
+------------+--------------+
| student_id | student_name |
+------------+--------------+
| 1 ? ? ? ? ?| Alice ? ? ? ?|
| 2 ? ? ? ? ?| Bob ? ? ? ? ?|
| 13 ? ? ? ? | John ? ? ? ? |
| 6 ? ? ? ? ?| Alex ? ? ? ? |
+------------+--------------+
Subjects table:
+--------------+
| subject_name |
+--------------+
| Math ? ? ? ? |
| Physics ? ? ?|
| Programming ?|
+--------------+
Examinations table:
+------------+--------------+
| student_id | subject_name |
+------------+--------------+
| 1 ? ? ? ? ?| Math ? ? ? ? |
| 1 ? ? ? ? ?| Physics ? ? ?|
| 1 ? ? ? ? ?| Programming ?|
| 2 ? ? ? ? ?| Programming ?|
| 1 ? ? ? ? ?| Physics ? ? ?|
| 1 ? ? ? ? ?| Math ? ? ? ? |
| 13 ? ? ? ? | Math ? ? ? ? |
| 13 ? ? ? ? | Programming ?|
| 13 ? ? ? ? | Physics ? ? ?|
| 2 ? ? ? ? ?| Math ? ? ? ? |
| 1 ? ? ? ? ?| Math ? ? ? ? |
+------------+--------------+
Result table:
+------------+--------------+--------------+----------------+
| student_id | student_name | subject_name | attended_exams |
+------------+--------------+--------------+----------------+
| 1 ? ? ? ? ?| Alice ? ? ? ?| Math ? ? ? ? | 3 ? ? ? ? ? ? ?|
| 1 ? ? ? ? ?| Alice ? ? ? ?| Physics ? ? ?| 2 ? ? ? ? ? ? ?|
| 1 ? ? ? ? ?| Alice ? ? ? ?| Programming ?| 1 ? ? ? ? ? ? ?|
| 2 ? ? ? ? ?| Bob ? ? ? ? ?| Math ? ? ? ? | 1 ? ? ? ? ? ? ?|
| 2 ? ? ? ? ?| Bob ? ? ? ? ?| Physics ? ? ?| 0 ? ? ? ? ? ? ?|
| 2 ? ? ? ? ?| Bob ? ? ? ? ?| Programming ?| 1 ? ? ? ? ? ? ?|
| 6 ? ? ? ? ?| Alex ? ? ? ? | Math ? ? ? ? | 0 ? ? ? ? ? ? ?|
| 6 ? ? ? ? ?| Alex ? ? ? ? | Physics ? ? ?| 0 ? ? ? ? ? ? ?|
| 6 ? ? ? ? ?| Alex ? ? ? ? | Programming ?| 0 ? ? ? ? ? ? ?|
| 13 ? ? ? ? | John ? ? ? ? | Math ? ? ? ? | 1 ? ? ? ? ? ? ?|
| 13 ? ? ? ? | John ? ? ? ? | Physics ? ? ?| 1 ? ? ? ? ? ? ?|
| 13 ? ? ? ? | John ? ? ? ? | Programming ?| 1 ? ? ? ? ? ? ?|
+------------+--------------+--------------+----------------+
結(jié)果表需包含所有學生和所有科目(即便測試次數(shù)為0):
Alice 參加了 3 次數(shù)學測試, 2 次物理測試,以及 1 次編程測試;
Bob 參加了 1 次數(shù)學測試, 1 次編程測試,沒有參加物理測試;
Alex 啥測試都沒參加;
John ?參加了數(shù)學、物理、編程測試各 1 次。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/students-and-examinations
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1294. 不同國家的天氣類型
國家表:Countries
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| country_id ? ?| int ? ? |
| country_name ?| varchar |
+---------------+---------+
country_id 是這張表的主鍵。
該表的每行有 country_id 和 country_name 兩列。
?
天氣表:Weather
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| country_id ? ?| int ? ? |
| weather_state | varchar |
| day ? ? ? ? ? | date ? ?|
+---------------+---------+
(country_id, day) 是該表的復合主鍵。
該表的每一行記錄了某個國家某一天的天氣情況。
?
寫一段 SQL 來找到表中每個國家在 2019 年 11 月的天氣類型。
天氣類型的定義如下:當 weather_state 的平均值小于或等于15返回 Cold,當 weather_state 的平均值大于或等于 25 返回 Hot,否則返回?Warm。
你可以以任意順序返回你的查詢結(jié)果。
查詢結(jié)果格式如下所示:
Countries table:
+------------+--------------+
| country_id | country_name |
+------------+--------------+
| 2 ? ? ? ? ?| USA ? ? ? ? ?|
| 3 ? ? ? ? ?| Australia ? ?|
| 7 ? ? ? ? ?| Peru ? ? ? ? |
| 5 ? ? ? ? ?| China ? ? ? ?|
| 8 ? ? ? ? ?| Morocco ? ? ?|
| 9 ? ? ? ? ?| Spain ? ? ? ?|
+------------+--------------+
Weather table:
+------------+---------------+------------+
| country_id | weather_state | day ? ? ? ?|
+------------+---------------+------------+
| 2 ? ? ? ? ?| 15 ? ? ? ? ? ?| 2019-11-01 |
| 2 ? ? ? ? ?| 12 ? ? ? ? ? ?| 2019-10-28 |
| 2 ? ? ? ? ?| 12 ? ? ? ? ? ?| 2019-10-27 |
| 3 ? ? ? ? ?| -2 ? ? ? ? ? ?| 2019-11-10 |
| 3 ? ? ? ? ?| 0 ? ? ? ? ? ? | 2019-11-11 |
| 3 ? ? ? ? ?| 3 ? ? ? ? ? ? | 2019-11-12 |
| 5 ? ? ? ? ?| 16 ? ? ? ? ? ?| 2019-11-07 |
| 5 ? ? ? ? ?| 18 ? ? ? ? ? ?| 2019-11-09 |
| 5 ? ? ? ? ?| 21 ? ? ? ? ? ?| 2019-11-23 |
| 7 ? ? ? ? ?| 25 ? ? ? ? ? ?| 2019-11-28 |
| 7 ? ? ? ? ?| 22 ? ? ? ? ? ?| 2019-12-01 |
| 7 ? ? ? ? ?| 20 ? ? ? ? ? ?| 2019-12-02 |
| 8 ? ? ? ? ?| 25 ? ? ? ? ? ?| 2019-11-05 |
| 8 ? ? ? ? ?| 27 ? ? ? ? ? ?| 2019-11-15 |
| 8 ? ? ? ? ?| 31 ? ? ? ? ? ?| 2019-11-25 |
| 9 ? ? ? ? ?| 7 ? ? ? ? ? ? | 2019-10-23 |
| 9 ? ? ? ? ?| 3 ? ? ? ? ? ? | 2019-12-23 |
+------------+---------------+------------+
Result table:
+--------------+--------------+
| country_name | weather_type |
+--------------+--------------+
| USA ? ? ? ? ?| Cold ? ? ? ? |
| Austraila ? ?| Cold ? ? ? ? |
| Peru ? ? ? ? | Hot ? ? ? ? ?|
| China ? ? ? ?| Warm ? ? ? ? |
| Morocco ? ? ?| Hot ? ? ? ? ?|
+--------------+--------------+
USA 11 月的平均 weather_state 為 (15) / 1 = 15 所以天氣類型為 Cold。
Australia 11 月的平均 weather_state 為 (-2 + 0 + 3) / 3 = 0.333 所以天氣類型為 Cold。
Peru 11 月的平均 weather_state 為 (25) / 1 = 25 所以天氣類型為 Hot。
China 11 月的平均 weather_state 為 (16 + 18 + 21) / 3 = 18.333 所以天氣類型為 Warm。
Morocco 11 月的平均 weather_state 為 (25 + 27 + 31) / 3 = 27.667 所以天氣類型為 Hot。
我們并不知道 Spain 在 11 月的 weather_state 情況所以無需將他包含在結(jié)果中。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/weather-type-in-each-country
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1303. 求團隊人數(shù)
員工表:Employee
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| employee_id ? | int ? ? |
| team_id ? ? ? | int ? ? |
+---------------+---------+
employee_id 字段是這張表的主鍵,表中的每一行都包含每個員工的 ID 和他們所屬的團隊。
編寫一個 SQL 查詢,以求得每個員工所在團隊的總?cè)藬?shù)。
查詢結(jié)果中的順序無特定要求。
查詢結(jié)果格式示例如下:
Employee Table:
+-------------+------------+
| employee_id | team_id ? ?|
+-------------+------------+
| ? ? 1 ? ? ? | ? ? 8 ? ? ?|
| ? ? 2 ? ? ? | ? ? 8 ? ? ?|
| ? ? 3 ? ? ? | ? ? 8 ? ? ?|
| ? ? 4 ? ? ? | ? ? 7 ? ? ?|
| ? ? 5 ? ? ? | ? ? 9 ? ? ?|
| ? ? 6 ? ? ? | ? ? 9 ? ? ?|
+-------------+------------+
Result table:
+-------------+------------+
| employee_id | team_size ?|
+-------------+------------+
| ? ? 1 ? ? ? | ? ? 3 ? ? ?|
| ? ? 2 ? ? ? | ? ? 3 ? ? ?|
| ? ? 3 ? ? ? | ? ? 3 ? ? ?|
| ? ? 4 ? ? ? | ? ? 1 ? ? ?|
| ? ? 5 ? ? ? | ? ? 2 ? ? ?|
| ? ? 6 ? ? ? | ? ? 2 ? ? ?|
+-------------+------------+
ID 為 1、2、3 的員工是 team_id 為 8 的團隊的成員,
ID 為 4 的員工是 team_id 為 7 的團隊的成員,
ID 為 5、6 的員工是 team_id 為 9 的團隊的成員。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-the-team-size
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1322. 廣告效果
表: Ads
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| ad_id ? ? ? ? | int ? ? |
| user_id ? ? ? | int ? ? |
| action ? ? ? ?| enum ? ?|
+---------------+---------+
(ad_id, user_id) 是該表的主鍵
該表的每一行包含一條廣告的 ID(ad_id),用戶的 ID(user_id) 和用戶對廣告采取的行為 (action)
action 列是一個枚舉類型 ('Clicked', 'Viewed', 'Ignored') 。
?
一家公司正在運營這些廣告并想計算每條廣告的效果。
廣告效果用點擊通過率(Click-Through Rate:CTR)來衡量,公式如下:
寫一條SQL語句來查詢每一條廣告的?ctr?,
?ctr?要保留兩位小數(shù)。結(jié)果需要按?ctr?降序、按?ad_id?升序?進行排序。
查詢結(jié)果示例如下:
Ads 表:
+-------+---------+---------+
| ad_id | user_id | action ?|
+-------+---------+---------+
| 1 ? ? | 1 ? ? ? | Clicked |
| 2 ? ? | 2 ? ? ? | Clicked |
| 3 ? ? | 3 ? ? ? | Viewed ?|
| 5 ? ? | 5 ? ? ? | Ignored |
| 1 ? ? | 7 ? ? ? | Ignored |
| 2 ? ? | 7 ? ? ? | Viewed ?|
| 3 ? ? | 5 ? ? ? | Clicked |
| 1 ? ? | 4 ? ? ? | Viewed ?|
| 2 ? ? | 11 ? ? ?| Viewed ?|
| 1 ? ? | 2 ? ? ? | Clicked |
+-------+---------+---------+
結(jié)果表:
+-------+-------+
| ad_id | ctr ? |
+-------+-------+
| 1 ? ? | 66.67 |
| 3 ? ? | 50.00 |
| 2 ? ? | 33.33 |
| 5 ? ? | 0.00 ?|
+-------+-------+
對于 ad_id = 1, ctr = (2/(2+1)) * 100 = 66.67
對于 ad_id = 2, ctr = (1/(1+2)) * 100 = 33.33
對于 ad_id = 3, ctr = (1/(1+1)) * 100 = 50.00
對于 ad_id = 5, ctr = 0.00, 注意 ad_id = 5 沒有被點擊 (Clicked) 或查看 (Viewed) 過
注意我們不關心 action 為 Ingnored 的廣告
結(jié)果按 ctr(降序),ad_id(升序)排序
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/ads-performance
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1327. 列出指定時間段內(nèi)所有的下單產(chǎn)品
表: Products
+------------------+---------+
| Column Name ? ? ?| Type ? ?|
+------------------+---------+
| product_id ? ? ? | int ? ? |
| product_name ? ? | varchar |
| product_category | varchar |
+------------------+---------+
product_id 是該表主鍵。
該表包含該公司產(chǎn)品的數(shù)據(jù)。
表: Orders
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| product_id ? ?| int ? ? |
| order_date ? ?| date ? ?|
| unit ? ? ? ? ?| int ? ? |
+---------------+---------+
該表無主鍵,可能包含重復行。
product_id 是表單 Products 的外鍵。
unit 是在日期 order_date 內(nèi)下單產(chǎn)品的數(shù)目。
?
寫一個 SQL 語句,要求獲取在 2020 年 2 月份下單的數(shù)量不少于 100 的產(chǎn)品的名字和數(shù)目。
返回結(jié)果表單的順序無要求。
查詢結(jié)果的格式如下:
Products 表:
+-------------+-----------------------+------------------+
| product_id ?| product_name ? ? ? ? ?| product_category |
+-------------+-----------------------+------------------+
| 1 ? ? ? ? ? | Leetcode Solutions ? ?| Book ? ? ? ? ? ? |
| 2 ? ? ? ? ? | Jewels of Stringology | Book ? ? ? ? ? ? |
| 3 ? ? ? ? ? | HP ? ? ? ? ? ? ? ? ? ?| Laptop ? ? ? ? ? |
| 4 ? ? ? ? ? | Lenovo ? ? ? ? ? ? ? ?| Laptop ? ? ? ? ? |
| 5 ? ? ? ? ? | Leetcode Kit ? ? ? ? ?| T-shirt ? ? ? ? ?|
+-------------+-----------------------+------------------+
Orders 表:
+--------------+--------------+----------+
| product_id ? | order_date ? | unit ? ? |
+--------------+--------------+----------+
| 1 ? ? ? ? ? ?| 2020-02-05 ? | 60 ? ? ? |
| 1 ? ? ? ? ? ?| 2020-02-10 ? | 70 ? ? ? |
| 2 ? ? ? ? ? ?| 2020-01-18 ? | 30 ? ? ? |
| 2 ? ? ? ? ? ?| 2020-02-11 ? | 80 ? ? ? |
| 3 ? ? ? ? ? ?| 2020-02-17 ? | 2 ? ? ? ?|
| 3 ? ? ? ? ? ?| 2020-02-24 ? | 3 ? ? ? ?|
| 4 ? ? ? ? ? ?| 2020-03-01 ? | 20 ? ? ? |
| 4 ? ? ? ? ? ?| 2020-03-04 ? | 30 ? ? ? |
| 4 ? ? ? ? ? ?| 2020-03-04 ? | 60 ? ? ? |
| 5 ? ? ? ? ? ?| 2020-02-25 ? | 50 ? ? ? |
| 5 ? ? ? ? ? ?| 2020-02-27 ? | 50 ? ? ? |
| 5 ? ? ? ? ? ?| 2020-03-01 ? | 50 ? ? ? |
+--------------+--------------+----------+
Result 表:
+--------------------+---------+
| product_name ? ? ? | unit ? ?|
+--------------------+---------+
| Leetcode Solutions | 130 ? ? |
| Leetcode Kit ? ? ? | 100 ? ? |
+--------------------+---------+
2020 年 2 月份下單 product_id = 1 的產(chǎn)品的數(shù)目總和為 (60 + 70) = 130 。
2020 年 2 月份下單 product_id = 2 的產(chǎn)品的數(shù)目總和為 80 。
2020 年 2 月份下單 product_id = 3 的產(chǎn)品的數(shù)目總和為 (2 + 3) = 5 。
2020 年 2 月份 product_id = 4 的產(chǎn)品并沒有下單。
2020 年 2 月份下單 product_id = 5 的產(chǎn)品的數(shù)目總和為 (50 + 50) = 100 。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/list-the-products-ordered-in-a-period
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1350. 院系無效的學生
院系表: Departments
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| id ? ? ? ? ? ?| int ? ? |
| name ? ? ? ? ?| varchar |
+---------------+---------+
id 是該表的主鍵
該表包含一所大學每個院系的 id 信息
?
學生表: Students
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| id ? ? ? ? ? ?| int ? ? |
| name ? ? ? ? ?| varchar |
| department_id | int ? ? |
+---------------+---------+
id 是該表的主鍵
該表包含一所大學每個學生的 id 和他/她就讀的院系信息
?
寫一條 SQL 語句以查詢那些所在院系不存在的學生的 id 和姓名
可以以任何順序返回結(jié)果
下面是返回結(jié)果格式的例子
Departments 表:
+------+--------------------------+
| id ? | name ? ? ? ? ? ? ? ? ? ? |
+------+--------------------------+
| 1 ? ?| Electrical Engineering ? |
| 7 ? ?| Computer Engineering ? ? |
| 13 ? | Bussiness Administration |
+------+--------------------------+
Students 表:
+------+----------+---------------+
| id ? | name ? ? | department_id |
+------+----------+---------------+
| 23 ? | Alice ? ?| 1 ? ? ? ? ? ? |
| 1 ? ?| Bob ? ? ?| 7 ? ? ? ? ? ? |
| 5 ? ?| Jennifer | 13 ? ? ? ? ? ?|
| 2 ? ?| John ? ? | 14 ? ? ? ? ? ?|
| 4 ? ?| Jasmine ?| 77 ? ? ? ? ? ?|
| 3 ? ?| Steve ? ?| 74 ? ? ? ? ? ?|
| 6 ? ?| Luis ? ? | 1 ? ? ? ? ? ? |
| 8 ? ?| Jonathan | 7 ? ? ? ? ? ? |
| 7 ? ?| Daiana ? | 33 ? ? ? ? ? ?|
| 11 ? | Madelynn | 1 ? ? ? ? ? ? |
+------+----------+---------------+
結(jié)果表:
+------+----------+
| id ? | name ? ? |
+------+----------+
| 2 ? ?| John ? ? |
| 7 ? ?| Daiana ? |
| 4 ? ?| Jasmine ?|
| 3 ? ?| Steve ? ?|
+------+----------+
John, Daiana, Steve 和 Jasmine 所在的院系分別是 14, 33, 74 和 77, 其中 14, 33, 74 和 77 并不存在于院系表
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/students-with-invalid-departments
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1378. 使用唯一標識碼替換員工ID
Employees 表:
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| id ? ? ? ? ? ?| int ? ? |
| name ? ? ? ? ?| varchar |
+---------------+---------+
id 是這張表的主鍵。
這張表的每一行分別代表了某公司其中一位員工的名字和 ID 。
?
EmployeeUNI?表:
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| id ? ? ? ? ? ?| int ? ? |
| unique_id ? ? | int ? ? |
+---------------+---------+
(id, unique_id) 是這張表的主鍵。
這張表的每一行包含了該公司某位員工的 ID 和他的唯一標識碼(unique ID)。
?
寫一段SQL查詢來展示每位用戶的 唯一標識碼(unique ID );如果某位員工沒有唯一標識碼,使用 null 填充即可。
你可以以 任意 順序返回結(jié)果表。
查詢結(jié)果的格式如下例所示:
Employees table:
+----+----------+
| id | name ? ? |
+----+----------+
| 1 ?| Alice ? ?|
| 7 ?| Bob ? ? ?|
| 11 | Meir ? ? |
| 90 | Winston ?|
| 3 ?| Jonathan |
+----+----------+
EmployeeUNI table:
+----+-----------+
| id | unique_id |
+----+-----------+
| 3 ?| 1 ? ? ? ? |
| 11 | 2 ? ? ? ? |
| 90 | 3 ? ? ? ? |
+----+-----------+
EmployeeUNI table:
+-----------+----------+
| unique_id | name ? ? |
+-----------+----------+
| null ? ? ?| Alice ? ?|
| null ? ? ?| Bob ? ? ?|
| 2 ? ? ? ? | Meir ? ? |
| 3 ? ? ? ? | Winston ?|
| 1 ? ? ? ? | Jonathan |
+-----------+----------+
Alice and Bob 沒有唯一標識碼, 因此我們使用 null 替代。
Meir 的唯一標識碼是 2 。
Winston 的唯一標識碼是 3 。
Jonathan 唯一標識碼是 1 。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/replace-employee-id-with-the-unique-identifier
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1407. 排名靠前的旅行者
表:Users
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| id ? ? ? ? ? ?| int ? ? |
| name ? ? ? ? ?| varchar |
+---------------+---------+
id 是該表單主鍵。
name 是用戶名字。
?
表:Rides
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| id ? ? ? ? ? ?| int ? ? |
| user_id ? ? ? | int ? ? |
| distance ? ? ?| int ? ? |
+---------------+---------+
id 是該表單主鍵。
user_id 是本次行程的用戶的 id, 而該用戶此次行程距離為 distance 。
?
寫一段 SQL ,?報告每個用戶的旅行距離。
返回的結(jié)果表單,以?travelled_distance?降序排列 ,如果有兩個或者更多的用戶旅行了相同的距離,?那么再以?name?升序排列 。
查詢結(jié)果格式如下例所示。
Users 表:
+------+-----------+
| id ? | name ? ? ?|
+------+-----------+
| 1 ? ?| Alice ? ? |
| 2 ? ?| Bob ? ? ? |
| 3 ? ?| Alex ? ? ?|
| 4 ? ?| Donald ? ?|
| 7 ? ?| Lee ? ? ? |
| 13 ? | Jonathan ?|
| 19 ? | Elvis ? ? |
+------+-----------+
Rides 表:
+------+----------+----------+
| id ? | user_id ?| distance |
+------+----------+----------+
| 1 ? ?| 1 ? ? ? ?| 120 ? ? ?|
| 2 ? ?| 2 ? ? ? ?| 317 ? ? ?|
| 3 ? ?| 3 ? ? ? ?| 222 ? ? ?|
| 4 ? ?| 7 ? ? ? ?| 100 ? ? ?|
| 5 ? ?| 13 ? ? ? | 312 ? ? ?|
| 6 ? ?| 19 ? ? ? | 50 ? ? ? |
| 7 ? ?| 7 ? ? ? ?| 120 ? ? ?|
| 8 ? ?| 19 ? ? ? | 400 ? ? ?|
| 9 ? ?| 7 ? ? ? ?| 230 ? ? ?|
+------+----------+----------+
Result 表:
+----------+--------------------+
| name ? ? | travelled_distance |
+----------+--------------------+
| Elvis ? ?| 450 ? ? ? ? ? ? ? ?|
| Lee ? ? ?| 450 ? ? ? ? ? ? ? ?|
| Bob ? ? ?| 317 ? ? ? ? ? ? ? ?|
| Jonathan | 312 ? ? ? ? ? ? ? ?|
| Alex ? ? | 222 ? ? ? ? ? ? ? ?|
| Alice ? ?| 120 ? ? ? ? ? ? ? ?|
| Donald ? | 0 ? ? ? ? ? ? ? ? ?|
+----------+--------------------+
Elvis 和 Lee 旅行了 450 英里,Elvis 是排名靠前的旅行者,因為他的名字在字母表上的排序比 Lee 更小。
Bob, Jonathan, Alex 和 Alice 只有一次行程,我們只按此次行程的全部距離對他們排序。
Donald 沒有任何行程, 他的旅行距離為 0。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/top-travellers
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1435. 制作會話柱狀圖
表:Sessions
+---------------------+---------+
| Column Name ? ? ? ? | Type ? ?|
+---------------------+---------+
| session_id ? ? ? ? ?| int ? ? |
| duration ? ? ? ? ? ?| int ? ? |
+---------------------+---------+
session_id 是該表主鍵
duration 是用戶訪問應用的時間, 以秒為單位
?
你想知道用戶在你的 app 上的訪問時長情況。因此決定統(tǒng)計訪問時長區(qū)間分別為 "[0-5>", "[5-10>", "[10-15>"?和?"15 or more" (單位:分鐘)的會話數(shù)量,并以此繪制柱狀圖。
寫一個SQL查詢來報告(訪問時長區(qū)間,會話總數(shù))。結(jié)果可用任何順序呈現(xiàn)。
下方為查詢的輸出格式:
Sessions 表:
+-------------+---------------+
| session_id ?| duration ? ? ?|
+-------------+---------------+
| 1 ? ? ? ? ? | 30 ? ? ? ? ? ?|
| 2 ? ? ? ? ? | 199 ? ? ? ? ? |
| 3 ? ? ? ? ? | 299 ? ? ? ? ? |
| 4 ? ? ? ? ? | 580 ? ? ? ? ? |
| 5 ? ? ? ? ? | 1000 ? ? ? ? ?|
+-------------+---------------+
Result 表:
+--------------+--------------+
| bin ? ? ? ? ?| total ? ? ? ?|
+--------------+--------------+
| [0-5> ? ? ? ?| 3 ? ? ? ? ? ?|
| [5-10> ? ? ? | 1 ? ? ? ? ? ?|
| [10-15> ? ? ?| 0 ? ? ? ? ? ?|
| 15 or more ? | 1 ? ? ? ? ? ?|
+--------------+--------------+
對于 session_id 1,2 和 3 ,它們的訪問時間大于等于 0 分鐘且小于 5 分鐘。
對于 session_id 4,它的訪問時間大于等于 5 分鐘且小于 10 分鐘。
沒有會話的訪問時間大于等于 10 分鐘且小于 15 分鐘。
對于 session_id 5, 它的訪問時間大于等于 15 分鐘。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/create-a-session-bar-chart
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1485. 按日期分組銷售產(chǎn)品
表?Activities:
+-------------+---------+
| 列名 ? ? ? ? | 類型 ? ?|
+-------------+---------+
| sell_date ? | date ? ?|
| product ? ? | varchar |
+-------------+---------+
此表沒有主鍵,它可能包含重復項。
此表的每一行都包含產(chǎn)品名稱和在市場上銷售的日期。
?
編寫一個 SQL 查詢來查找每個日期、銷售的不同產(chǎn)品的數(shù)量及其名稱。
每個日期的銷售產(chǎn)品名稱應按詞典序排列。
返回按?sell_date 排序的結(jié)果表。
查詢結(jié)果格式如下例所示。
Activities 表:
+------------+-------------+
| sell_date ?| product ? ? |
+------------+-------------+
| 2020-05-30 | Headphone ? |
| 2020-06-01 | Pencil ? ? ?|
| 2020-06-02 | Mask ? ? ? ?|
| 2020-05-30 | Basketball ?|
| 2020-06-01 | Bible ? ? ? |
| 2020-06-02 | Mask ? ? ? ?|
| 2020-05-30 | T-Shirt ? ? |
+------------+-------------+
Result 表:
+------------+----------+------------------------------+
| sell_date ?| num_sold | products ? ? ? ? ? ? ? ? ? ? |
+------------+----------+------------------------------+
| 2020-05-30 | 3 ? ? ? ?| Basketball,Headphone,T-shirt |
| 2020-06-01 | 2 ? ? ? ?| Bible,Pencil ? ? ? ? ? ? ? ? |
| 2020-06-02 | 1 ? ? ? ?| Mask ? ? ? ? ? ? ? ? ? ? ? ? |
+------------+----------+------------------------------+
對于2020-05-30,出售的物品是 (Headphone, Basketball, T-shirt),按詞典序排列,并用逗號 ',' 分隔。
對于2020-06-01,出售的物品是 (Pencil, Bible),按詞典序排列,并用逗號分隔。
對于2020-06-02,出售的物品是 (Mask),只需返回該物品名。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/group-sold-products-by-the-date
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1495. 上月播放的兒童適宜電影
表: TVProgram
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| program_date ?| date ? ?|
| content_id ? ?| int ? ? |
| channel ? ? ? | varchar |
+---------------+---------+
(program_date, content_id) 是該表主鍵.
該表包含電視上的節(jié)目信息.
content_id 是電視一些頻道上的節(jié)目的 id.
?
表: Content
+------------------+---------+
| Column Name ? ? ?| Type ? ?|
+------------------+---------+
| content_id ? ? ? | varchar |
| title ? ? ? ? ? ?| varchar |
| Kids_content ? ? | enum ? ?|
| content_type ? ? | varchar |
+------------------+---------+
content_id 是該表主鍵.
Kids_content 是枚舉類型, 取值為('Y', 'N'), 其中:?
'Y' 表示兒童適宜內(nèi)容, 而'N'表示兒童不宜內(nèi)容.
content_type?表示內(nèi)容的類型, 比如電影, 電視劇等.
?
寫一個 SQL 語句,??報告在 2020 年 6 月份播放的兒童適宜電影的去重電影名.
返回的結(jié)果表單沒有順序要求.
查詢結(jié)果的格式如下例所示.
TVProgram 表:
+--------------------+--------------+-------------+
| program_date ? ? ? | content_id ? | channel ? ? |
+--------------------+--------------+-------------+
| 2020-06-10 08:00 ? | 1 ? ? ? ? ? ?| LC-Channel ?|
| 2020-05-11 12:00 ? | 2 ? ? ? ? ? ?| LC-Channel ?|
| 2020-05-12 12:00 ? | 3 ? ? ? ? ? ?| LC-Channel ?|
| 2020-05-13 14:00 ? | 4 ? ? ? ? ? ?| Disney Ch ? |
| 2020-06-18 14:00 ? | 4 ? ? ? ? ? ?| Disney Ch ? |
| 2020-07-15 16:00 ? | 5 ? ? ? ? ? ?| Disney Ch ? |
+--------------------+--------------+-------------+
Content 表:
+------------+----------------+---------------+---------------+
| content_id | title ? ? ? ? ?| Kids_content ?| content_type ?|
+------------+----------------+---------------+---------------+
| 1 ? ? ? ? ?| Leetcode Movie | N ? ? ? ? ? ? | Movies ? ? ? ?|
| 2 ? ? ? ? ?| Alg. for Kids ?| Y ? ? ? ? ? ? | Series ? ? ? ?|
| 3 ? ? ? ? ?| Database Sols ?| N ? ? ? ? ? ? | Series ? ? ? ?|
| 4 ? ? ? ? ?| Aladdin ? ? ? ?| Y ? ? ? ? ? ? | Movies ? ? ? ?|
| 5 ? ? ? ? ?| Cinderella ? ? | Y ? ? ? ? ? ? | Movies ? ? ? ?|
+------------+----------------+---------------+---------------+
Result 表:
+--------------+
| title ? ? ? ?|
+--------------+
| Aladdin ? ? ?|
+--------------+
"Leetcode Movie" 是兒童不宜的電影.
"Alg. for Kids" 不是電影.
"Database Sols" 不是電影
"Alladin" 是電影, 兒童適宜, 并且在 2020 年 6 月份播放.
"Cinderella" 不在 2020 年 6 月份播放.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/friendly-movies-streamed-last-month
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1511. 消費者下單頻率
表: Customers
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| customer_id ? | int ? ? |
| name ? ? ? ? ?| varchar |
| country ? ? ? | varchar |
+---------------+---------+
customer_id 是該表主鍵.
該表包含公司消費者的信息.
?
表: Product
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| product_id ? ?| int ? ? |
| description ? | varchar |
| price ? ? ? ? | int ? ? |
+---------------+---------+
product_id 是該表主鍵.
該表包含公司產(chǎn)品的信息.
price 是本產(chǎn)品的花銷.
?
表: Orders
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| order_id ? ? ?| int ? ? |
| customer_id ? | int ? ? |
| product_id ? ?| int ? ? |
| order_date ? ?| date ? ?|
| quantity ? ? ?| int ? ? |
+---------------+---------+
order_id 是該表主鍵.
該表包含消費者下單的信息.
customer_id 是買了數(shù)量為"quantity", id為"product_id"產(chǎn)品的消費者的 id.
Order_date 是訂單發(fā)貨的日期, 格式為('YYYY-MM-DD').
?
寫一個 SQL 語句,??報告消費者的 id 和名字,?其中消費者在 2020 年 6 月和 7 月,?每月至少花費了$100.
結(jié)果表無順序要求.
查詢結(jié)果格式如下例所示.
Customers
+--------------+-----------+-------------+
| customer_id ?| name ?? ? | country ????|
+--------------+-----------+-------------+
| 1 ? ??? ? ? ?| Winston ??| USA ? ? ? ??|
| 2 ? ? ? ? ???| Jonathan ?| Peru ? ? ? ?|
| 3 ? ? ? ? ???| Moustafa ?| Egypt ? ? ??|
+--------------+-----------+-------------+
Product
+--------------+-------------+-------------+
| product_id ? | description | price ? ????|
+--------------+-------------+-------------+
| 10 ? ?? ? ? ?| LC Phone ?? | 300 ? ? ? ??|
| 20 ? ? ? ? ??| LC T-Shirt ?| 10 ? ? ? ? ?|
| 30 ? ? ? ? ??| LC Book ? ??| 45 ? ? ? ? ?|
| 40 ? ? ? ? ? | LC Keychain?| 2 ? ? ? ? ??|
+--------------+-------------+-------------+
Orders
+--------------+-------------+-------------+-------------+-----------+
| order_id ? ? | customer_id | product_id ?| order_date ?| quantity ?|
+--------------+-------------+-------------+-------------+-----------+
| 1 ? ??? ? ? ?| 1 ? ? ? ??? | 10 ? ? ? ? ?| 2020-06-10 ?| 1 ? ? ? ? |
| 2 ? ? ? ? ???| 1 ? ? ? ? ? | 20 ? ? ? ? ?| 2020-07-01 ?| 1 ? ? ? ? |
| 3 ? ? ? ? ???| 1 ? ? ? ? ? | 30 ? ? ? ? ?| 2020-07-08 ?| 2 ? ? ? ? |
| 4 ? ??? ? ? ?| 2 ? ? ? ??? | 10 ? ? ? ? ?| 2020-06-15 ?| 2 ? ? ? ? |
| 5 ? ? ? ? ???| 2 ? ? ? ? ? | 40 ? ? ? ? ?| 2020-07-01 ?| 10 ? ? ? ?|
| 6 ? ? ? ? ???| 3 ? ? ? ? ? | 20 ? ? ? ? ?| 2020-06-24 ?| 2 ? ? ? ? |
| 7 ? ??? ? ? ?| 3 ? ? ? ??? | 30 ? ? ? ? ?| 2020-06-25 ?| 2 ? ? ? ? |
| 9 ? ? ? ? ???| 3 ? ? ? ? ? | 30 ? ? ? ? ?| 2020-05-08 ?| 3 ? ? ? ? |
+--------------+-------------+-------------+-------------+-----------+
Result 表:
+--------------+------------+
| customer_id ?| name ? ? ? | ?
+--------------+------------+
| 1 ? ? ? ? ? ?| Winston ? ?|
+--------------+------------+?
Winston 在2020年6月花費了$300(300 * 1), 在7月花費了$100(10 * 1 + 45 * 2).
Jonathan 在2020年6月花費了$600(300 * 2), 在7月花費了$20(2 * 10).
Moustafa 在2020年6月花費了$110 (10 * 2 + 45 * 2), 在7月花費了$0.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/customer-order-frequency
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1517. 查找擁有有效郵箱的用戶
用戶表:?Users
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| user_id ? ? ? | int ? ? |
| name ? ? ? ? ?| varchar |
| mail ? ? ? ? ?| varchar |?
+---------------+---------+
user_id (用戶 ID)是該表的主鍵。
這個表包含用戶在某網(wǎng)站上注冊的信息。有些郵箱是無效的。
?
寫一條?SQL 語句,查詢擁有有效郵箱的用戶。
有效的郵箱包含符合下列條件的前綴名和域名:
前綴名是包含字母(大寫或小寫)、數(shù)字、下劃線?'_'、句點?'.'?和/或橫杠?'-'?的字符串。前綴名必須以字母開頭。
域名是?'@leetcode.com'?。
按任意順序返回結(jié)果表。
查詢格式如下所示:
Users
+---------+-----------+-------------------------+
| user_id | name ? ? ?| mail ? ? ? ? ? ? ? ? ? ?|
+---------+-----------+-------------------------+
| 1 ? ? ? | Winston ? | winston@leetcode.com ? ?|
| 2 ? ? ? | Jonathan ?| jonathanisgreat ? ? ? ? |
| 3 ? ? ? | Annabelle | bella-@leetcode.com ? ? |
| 4 ? ? ? | Sally ? ? | sally.come@leetcode.com |
| 5 ? ? ? | Marwan ? ?| quarz#2020@leetcode.com |
| 6 ? ? ? | David ? ? | david69@gmail.com ? ? ? |
| 7 ? ? ? | Shapiro ? | .shapo@leetcode.com ? ? |
+---------+-----------+-------------------------+
結(jié)果表:
+---------+-----------+-------------------------+
| user_id | name ? ? ?| mail ? ? ? ? ? ? ? ? ? ?|
+---------+-----------+-------------------------+
| 1 ? ? ? | Winston ? | winston@leetcode.com ? ?|
| 3 ? ? ? | Annabelle | bella-@leetcode.com ? ? |
| 4 ? ? ? | Sally ? ? | sally.come@leetcode.com |
+---------+-----------+-------------------------+
2 號用戶的郵箱沒有域名。
5 號用戶的郵箱包含非法字符 #。
6 號用戶的郵箱的域名不是 leetcode。
7 號用戶的郵箱以句點(.)開頭。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-users-with-valid-e-mails
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1527. 患某種疾病的患者
患者信息表:?Patients
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| patient_id ? | int ? ? |
| patient_name | varchar |
| conditions ? | varchar |
+--------------+---------+
patient_id (患者 ID)是該表的主鍵。
'conditions' (疾病)包含 0 個或以上的疾病代碼,以空格分隔。
這個表包含醫(yī)院中患者的信息。
?
寫一條?SQL 語句,查詢患有 I 類糖尿病的患者?ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代碼(conditions)。I 類糖尿病的代碼總是包含前綴?DIAB1?。
按任意順序返回結(jié)果表。
查詢結(jié)果格式如下示例所示:
Patients
+------------+--------------+--------------+
| patient_id | patient_name | conditions ? |
+------------+--------------+--------------+
| 1 ? ? ? ? ?| Daniel ? ? ??| YFEV COUGH ? |
| 2 ? ??? ? ?| Alice ? ? ? ?| ? ? ? ? ? ???|
| 3 ? ??? ? ?| Bob ? ? ? ? ?| DIAB100 MYOP?|
| 4 ?? ? ? ? | George ? ? ??| ACNE DIAB100?|
| 5 ?? ? ? ? | Alain ? ? ? ?| DIAB201 ? ? ?|
+------------+--------------+--------------+
結(jié)果表:
+------------+--------------+--------------+
| patient_id | patient_name | conditions ? |
+------------+--------------+--------------+
| 3 ? ??? ? ?| Bob ? ? ? ? ?| DIAB100 MYOP?|
| 4 ?? ? ? ? | George ? ?? ?| ACNE DIAB100?|?
+------------+--------------+--------------+
Bob 和 George 都患有代碼以 DIAB1 開頭的疾病。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/patients-with-a-condition
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1543. 產(chǎn)品名稱格式修復
表:Sales
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| sale_id ? ? ?| int ? ? |
| product_name | varchar |
| sale_date ? ?| date ? ?|
+--------------+---------+
sale_id 是該表主鍵
該表的每一行包含了產(chǎn)品的名稱及其銷售日期
因為在 2000 年該表是手工填寫的,product_name?可能包含前后空格,而且包含大小寫。
寫一個 SQL 語句報告每個月的銷售情況:
product_name?是小寫字母且不包含前后空格
sale_date?格式為?('YYYY-MM')?
total?是產(chǎn)品在本月銷售的次數(shù)
返回結(jié)果以?product_name?升序 排列,如果有排名相同,再以?sale_date 升序 排列。
查詢結(jié)果格式如下所示:
Sales 表:
+------------+------------------+--------------+
| sale_id ? ?| product_name ? ? | sale_date ? ?|
+------------+------------------+--------------+
| 1 ? ? ? ? ?| ? ? ?LCPHONE ? ? | 2000-01-16 ? |
| 2 ? ??? ? ?| ? ?LCPhone ? ? ? | 2000-01-17 ? |
| 3 ? ??? ? ?| ? ? LcPhOnE ? ? ?| 2000-02-18 ? |
| 4 ?? ? ? ? | ? ? ?LCKeyCHAiN ?| 2000-02-19 ? |
| 5 ?? ? ? ? | ? LCKeyChain ? ? | 2000-02-28 ? |
| 6 ? ? ? ???| Matryoshka ? ? ??| 2000-03-31 ? |?
+------------+------------------+--------------+
Result 表:
+--------------+--------------+----------+
| product_name | sale_date ? ?| total ? ?|
+--------------+--------------+----------+
| lcphone ? ?? | 2000-01 ? ? ?| 2 ? ? ? ?|
| lckeychain ? | 2000-02 ??? ?| 2 ? ? ? ?|?
| lcphone ? ? ?| 2000-02 ? ???| 1 ? ? ? ?|?
| matryoshka ? | 2000-03 ?? ? | 1 ? ? ? ?|?
+--------------+--------------+----------+
1 月份,賣了 2 個 LcPhones,請注意產(chǎn)品名稱是小寫的,中間可能包含空格
2 月份,賣了 2 個 LCKeychains 和 1 個 LCPhone
3 月份,賣了 1 個 matryoshka
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/fix-product-name-format
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1565. 按月統(tǒng)計訂單數(shù)與顧客數(shù)
表:Orders
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| order_id ? ? ?| int ? ? |
| order_date ? ?| date ? ?|
| customer_id ? | int ? ? |
| invoice ? ? ? | int ? ? |
+---------------+---------+
order_id 是 Orders 表的主鍵。
這張表包含顧客(customer_id)所下訂單的信息。
寫一個查詢語句來 按月 統(tǒng)計 金額大于 $20 的唯一 訂單數(shù) 和唯一 顧客數(shù) 。
查詢結(jié)果無排序要求。
查詢結(jié)果格式如下面例子所示:
Orders
+----------+------------+-------------+------------+
| order_id | order_date | customer_id | invoice ? ?|
+----------+------------+-------------+------------+
| 1 ? ? ? ?| 2020-09-15 | 1 ? ? ? ? ? | 30 ? ? ? ? |
| 2 ? ? ? ?| 2020-09-17 | 2 ? ? ? ? ? | 90 ? ? ? ? |
| 3 ? ? ? ?| 2020-10-06 | 3 ? ? ? ? ? | 20 ? ? ? ? |
| 4 ? ? ? ?| 2020-10-20 | 3 ? ? ? ? ? | 21 ? ? ? ? |
| 5 ? ? ? ?| 2020-11-10 | 1 ? ? ? ? ? | 10 ? ? ? ? |
| 6 ? ? ? ?| 2020-11-21 | 2 ? ? ? ? ? | 15 ? ? ? ? |
| 7 ? ? ? ?| 2020-12-01 | 4 ? ? ? ? ? | 55 ? ? ? ? |
| 8 ? ? ? ?| 2020-12-03 | 4 ? ? ? ? ? | 77 ? ? ? ? |
| 9 ? ? ? ?| 2021-01-07 | 3 ? ? ? ? ? | 31 ? ? ? ? |
| 10 ? ? ? | 2021-01-15 | 2 ? ? ? ? ? | 20 ? ? ? ? |
+----------+------------+-------------+------------+
Result 表:
+---------+-------------+----------------+
| month ? | order_count | customer_count |
+---------+-------------+----------------+
| 2020-09 | 2 ? ? ? ? ? | 2 ? ? ? ? ? ? ?|
| 2020-10 | 1 ? ? ? ? ? | 1 ? ? ? ? ? ? ?|
| 2020-12 | 2 ? ? ? ? ? | 1 ? ? ? ? ? ? ?|
| 2021-01 | 1 ? ? ? ? ? | 1 ? ? ? ? ? ? ?|
+---------+-------------+----------------+
在 2020 年 09 月,有 2 份來自 2 位不同顧客的金額大于 $20 的訂單。
在 2020 年 10 月,有 2 份來自 1 位顧客的訂單,并且只有其中的 1 份訂單金額大于 $20 。
在 2020 年 11 月,有 2 份來自 2 位不同顧客的訂單,但由于金額都小于 $20 ,所以我們的查詢結(jié)果中不包含這個月的數(shù)據(jù)。
在 2020 年 12 月,有 2 份來自 1 位顧客的訂單,且 2 份訂單金額都大于 $20 。
在 2021 年 01 月,有 2 份來自 2 位不同顧客的訂單,但只有其中一份訂單金額大于 $20 。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/unique-orders-and-customers-per-month
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1571. 倉庫經(jīng)理
表:?Warehouse
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| name ? ? ? ? | varchar |
| product_id ? | int ? ? |
| units ? ? ? ?| int ? ? |
+--------------+---------+
(name, product_id) 是該表主鍵.
該表的行包含了每個倉庫的所有商品信息.
?
表: Products
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| product_id ? ?| int ? ? |
| product_name ?| varchar |
| Width ? ? ? ? | int ? ? |
| Length ? ? ? ?| int ? ? |
| Height ? ? ? ?| int ? ? |
+---------------+---------+
product_id 是該表主鍵.
該表的行包含了每件商品以英尺為單位的尺寸(寬度, 長度和高度)信息.
?
寫一個 SQL?查詢來報告,?每個倉庫的存貨量是多少立方英尺.
倉庫名
存貨量
返回結(jié)果沒有順序要求.
查詢結(jié)果如下例所示.
Warehouse 表:
+------------+--------------+-------------+
| name ? ? ? | product_id ? | units ? ? ? |
+------------+--------------+-------------+
| LCHouse1 ? | 1 ? ? ? ? ? ?| 1 ? ? ? ? ? |
| LCHouse1 ? | 2 ? ? ? ? ? ?| 10 ? ? ? ? ?|
| LCHouse1 ? | 3 ? ? ? ? ? ?| 5 ? ? ? ? ? |
| LCHouse2 ? | 1 ? ? ? ? ? ?| 2 ? ? ? ? ? |
| LCHouse2 ? | 2 ? ? ? ? ? ?| 2 ? ? ? ? ? |
| LCHouse3 ? | 4 ? ? ? ? ? ?| 1 ? ? ? ? ? |
+------------+--------------+-------------+
Products 表:
+------------+--------------+------------+----------+-----------+
| product_id | product_name | Width ? ? ?| Length ? | Height ? ?|
+------------+--------------+------------+----------+-----------+
| 1 ? ? ? ? ?| LC-TV ? ? ? ?| 5 ? ? ? ? ?| 50 ? ? ? | 40 ? ? ? ?|
| 2 ? ? ? ? ?| LC-KeyChain ?| 5 ? ? ? ? ?| 5 ? ? ? ?| 5 ? ? ? ? |
| 3 ? ? ? ? ?| LC-Phone ? ? | 2 ? ? ? ? ?| 10 ? ? ? | 10 ? ? ? ?|
| 4 ? ? ? ? ?| LC-T-Shirt ? | 4 ? ? ? ? ?| 10 ? ? ? | 20 ? ? ? ?|
+------------+--------------+------------+----------+-----------+
Result 表:
+----------------+------------+
| WAREHOUSE_NAME | VOLUME ? ? |?
+----------------+------------+
| LCHouse1 ? ? ? | 12250 ? ? ?|?
| LCHouse2 ? ? ? | 20250 ? ? ?|
| LCHouse3 ? ? ? | 800 ? ? ? ?|
+----------------+------------+
Id為1的商品(LC-TV)的存貨量為 5x50x40 = 10000
Id為2的商品(LC-KeyChain)的存貨量為 5x5x5 = 125?
Id為3的商品(LC-Phone)的存貨量為 2x10x10 = 200
Id為4的商品(LC-T-Shirt)的存貨量為 4x10x20 = 800
倉庫LCHouse1: 1個單位的LC-TV + 10個單位的LC-KeyChain + 5個單位的LC-Phone.
?? ? ? ? ?總存貨量為: 1*10000 + 10*125 ?+ 5*200 = 12250 立方英尺
倉庫LCHouse2: 2個單位的LC-TV + 2個單位的LC-KeyChain.
?? ? ? ? ?總存貨量為: 2*10000 + 2*125 = 20250 立方英尺
倉庫LCHouse3: 1個單位的LC-T-Shirt.
? ? ? ? ? 總存貨量為: 1*800 = 800 立方英尺.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/warehouse-manager
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1581. 進店卻未進行過交易的顧客
表: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 ,以及他們只光顧不交易的次數(shù)。
返回以任何順序排序的結(jié)果表。
查詢結(jié)果格式如下例所示:
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 的顧客曾經(jīng)逛過一次購物中心,并在 ID = 12 的訪問期間進行了一筆交易。
ID = 9 的顧客曾經(jīng)逛過一次購物中心,并在 ID = 13 的訪問期間進行了一筆交易。
ID = 30 的顧客曾經(jīng)去過購物中心,并且沒有進行任何交易。
ID = 54 的顧客三度造訪了購物中心。在 2 次訪問中,他們沒有進行任何交易,在 1 次訪問中,他們進行了 3 次交易。
ID = 96 的顧客曾經(jīng)去過購物中心,并且沒有進行任何交易。
如我們所見,ID 為 30 和 96 的顧客一次沒有進行任何交易就去了購物中心。顧客 54 也兩次訪問了購物中心并且沒有進行任何交易。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/customer-who-visited-but-did-not-make-any-transactions
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1587. 銀行賬戶概要 II
表: Users
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| account ? ? ?| int ? ? |
| name ? ? ? ? | varchar |
+--------------+---------+
account 是該表的主鍵.
表中的每一行包含銀行里中每一個用戶的賬號.
?
表: Transactions
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| trans_id ? ? ?| int ? ? |
| account ? ? ? | int ? ? |
| amount ? ? ? ?| int ? ? |
| transacted_on | date ? ?|
+---------------+---------+
trans_id 是該表主鍵.
該表的每一行包含了所有賬戶的交易改變情況.
如果用戶收到了錢, 那么金額是正的; 如果用戶轉(zhuǎn)了錢, 那么金額是負的.
所有賬戶的起始余額為 0.
?
寫一個 SQL,??報告余額高于 10000 的所有用戶的名字和余額.?賬戶的余額等于包含該賬戶的所有交易的總和.
返回結(jié)果表單沒有順序要求.
查詢結(jié)果格式如下例所示.
Users table:
+------------+--------------+
| account ? ?| name ? ? ? ? |
+------------+--------------+
| 900001 ? ? | Alice ? ? ? ?|
| 900002 ? ? | Bob ? ? ? ? ?|
| 900003 ? ? | Charlie ? ? ?|
+------------+--------------+
Transactions table:
+------------+------------+------------+---------------+
| trans_id ? | account ? ?| amount ? ? | transacted_on |
+------------+------------+------------+---------------+
| 1 ? ? ? ? ?| 900001 ? ? | 7000 ? ? ? | ?2020-08-01 ? |
| 2 ? ? ? ? ?| 900001 ? ? | 7000 ? ? ? | ?2020-09-01 ? |
| 3 ? ? ? ? ?| 900001 ? ? | -3000 ? ? ?| ?2020-09-02 ? |
| 4 ? ? ? ? ?| 900002 ? ? | 1000 ? ? ? | ?2020-09-12 ? |
| 5 ? ? ? ? ?| 900003 ? ? | 6000 ? ? ? | ?2020-08-07 ? |
| 6 ? ? ? ? ?| 900003 ? ? | 6000 ? ? ? | ?2020-09-07 ? |
| 7 ? ? ? ? ?| 900003 ? ? | -4000 ? ? ?| ?2020-09-11 ? |
+------------+------------+------------+---------------+
Result table:
+------------+------------+
| name ? ? ? | balance ? ?|
+------------+------------+
| Alice ? ? ?| 11000 ? ? ?|
+------------+------------+
Alice 的余額為(7000 + 7000 - 3000) = 11000.
Bob 的余額為1000.
Charlie 的余額為(6000 + 6000 - 4000) = 8000.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/bank-account-summary-ii
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1607. 沒有賣出的賣家
表: Customer
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| customer_id ? | int ? ? |
| customer_name | varchar |
+---------------+---------+
customer_id 是該表主鍵.
該表的每行包含網(wǎng)上商城的每一位顧客的信息.
?
表: Orders
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| order_id ? ? ?| int ? ? |
| sale_date ? ? | date ? ?|
| order_cost ? ?| int ? ? |
| customer_id ? | int ? ? |
| seller_id ? ? | int ? ? |
+---------------+---------+
order_id 是該表主鍵.
該表的每行包含網(wǎng)上商城的所有訂單的信息.
sale_date 是顧客customer_id和賣家seller_id之間交易的日期.
?
表: Seller
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| seller_id ? ? | int ? ? |
| seller_name ? | varchar |
+---------------+---------+
seller_id 是該表主鍵.
該表的每行包含每一位賣家的信息.
?
寫一個SQL語句,?報告所有在2020年度沒有任何賣出的賣家的名字.
返回結(jié)果按照?seller_name?升序排列.
查詢結(jié)果格式如下例所示.
Customer 表:
+--------------+---------------+
| customer_id ?| customer_name |
+--------------+---------------+
| 101 ? ? ? ? ?| Alice ? ? ? ? |
| 102 ? ? ? ? ?| Bob ? ? ? ? ? |
| 103 ? ? ? ? ?| Charlie ? ? ? |
+--------------+---------------+
Orders 表:
+-------------+------------+--------------+-------------+-------------+
| order_id ? ?| sale_date ?| order_cost ? | customer_id | seller_id ? |
+-------------+------------+--------------+-------------+-------------+
| 1 ? ? ? ? ? | 2020-03-01 | 1500 ? ? ? ? | 101 ? ? ? ? | 1 ? ? ? ? ? |
| 2 ? ? ? ? ? | 2020-05-25 | 2400 ? ? ? ? | 102 ? ? ? ? | 2 ? ? ? ? ? |
| 3 ? ? ? ? ? | 2019-05-25 | 800 ? ? ? ? ?| 101 ? ? ? ? | 3 ? ? ? ? ? |
| 4 ? ? ? ? ? | 2020-09-13 | 1000 ? ? ? ? | 103 ? ? ? ? | 2 ? ? ? ? ? |
| 5 ? ? ? ? ? | 2019-02-11 | 700 ? ? ? ? ?| 101 ? ? ? ? | 2 ? ? ? ? ? |
+-------------+------------+--------------+-------------+-------------+
Seller 表:
+-------------+-------------+
| seller_id ? | seller_name |
+-------------+-------------+
| 1 ? ? ? ? ? | Daniel ? ? ?|
| 2 ? ? ? ? ? | Elizabeth ? |
| 3 ? ? ? ? ? | Frank ? ? ? |
+-------------+-------------+
Result 表:
+-------------+
| seller_name |
+-------------+
| Frank ? ? ? |
+-------------+
Daniel在2020年3月賣出1次.
Elizabeth在2020年賣出2次, 在2019年賣出1次.
Frank在2019年賣出1次, 在2020年沒有賣出.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sellers-with-no-sales
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1623. 三人國家代表隊
表: SchoolA
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| student_id ? ?| int ? ? |
| student_name ?| varchar |
+---------------+---------+
student_id 是表的主鍵
表中的每一行包含了學校A中每一個學生的名字和ID
所有student_name在表中都是獨一無二的
?
表: SchoolB
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| student_id ? ?| int ? ? |
| student_name ?| varchar |
+---------------+---------+
student_id 是表的主鍵
表中的每一行包含了學校B中每一個學生的名字和ID
所有student_name在表中都是獨一無二的
?
表: SchoolC
+---------------+---------+
| Column Name ? | Type ? ?|
+---------------+---------+
| student_id ? ?| int ? ? |
| student_name ?| varchar |
+---------------+---------+
student_id 是表的主鍵
表中的每一行包含了學校C中每一個學生的名字和ID
所有student_name在表中都是獨一無二的
?
有一個國家只有三所學校,這個國家的每一個學生只會注冊一所學校。
這個國家正在參加一個競賽,他們希望從這三所學校中各選出一個學生來組建一支三人的代表隊。
例如:
member_A是從 SchoolA中選出的
member_B是從 SchoolB中選出的
member_C是從 SchoolC中選出的
被選中的學生具有不同的名字和ID(沒有任何兩個學生擁有相同的名字、沒有任何兩個學生擁有相同的ID)
使用上述條件,編寫SQL查詢語句來找到所有可能的三人國家代表隊組合。
查詢結(jié)果接受任何順序。
查詢結(jié)果格式樣例:
SchoolA table:
+------------+--------------+
| student_id | student_name |
+------------+--------------+
| 1 ? ? ? ? ?| Alice ? ? ? ?|
| 2 ? ? ? ? ?| Bob ? ? ? ? ?|
+------------+--------------+
SchoolB table:
+------------+--------------+
| student_id | student_name |
+------------+--------------+
| 3 ? ? ? ? ?| Tom ? ? ? ? ?|
+------------+--------------+
SchoolC table:
+------------+--------------+
| student_id | student_name |
+------------+--------------+
| 3 ? ? ? ? ?| Tom ? ? ? ? ?|
| 2 ? ? ? ? ?| Jerry ? ? ? ?|
| 10 ? ? ? ? | Alice ? ? ? ?|
+------------+--------------+
預期結(jié)果:
+----------+----------+----------+
| member_A | member_B | member_C |
+----------+----------+----------+
| Alice ? ?| Tom ? ? ?| Jerry ? ?|
| Bob ? ? ?| Tom ? ? ?| Alice ? ?|
+----------+----------+----------+
讓我們看看有哪些可能的組合:
- (Alice, Tom, Tom) --> 不適用,因為member_B(Tom)和member_C(Tom)有相同的名字和ID
- (Alice, Tom, Jerry) --> 可能的組合
- (Alice, Tom, Alice) --> 不適用,因為member_A和member_C有相同的名字
- (Bob, Tom, Tom) --> 不適用,因為member_B和member_C有相同的名字和ID
- (Bob, Tom, Jerry) --> 不適用,因為member_A和member_C有相同的ID
- (Bob, Tom, Alice) --> 可能的組合.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/all-valid-triplets-that-can-represent-a-country
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1633. 各賽事的用戶注冊率
用戶表:?Users
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| user_id ? ? | int ? ? |
| user_name ? | varchar |
+-------------+---------+
user_id 是該表的主鍵。
該表中的每行包括用戶 ID 和用戶名。
?
注冊表:?Register
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| contest_id ?| int ? ? |
| user_id ? ? | int ? ? |
+-------------+---------+
(contest_id, user_id) 是該表的主鍵。
該表中的每行包含用戶的 ID 和他們注冊的賽事。
?
寫一條 SQL 語句,查詢各賽事的用戶注冊百分率,保留兩位小數(shù)。
返回的結(jié)果表按?percentage?的降序排序,若相同則按?contest_id?的升序排序。
查詢結(jié)果如下示例所示:
Users 表:
+---------+-----------+
| user_id | user_name |
+---------+-----------+
| 6 ? ? ? | Alice ? ? |
| 2 ? ? ? | Bob ? ? ? |
| 7 ? ? ? | Alex ? ? ?|
+---------+-----------+
Register 表:
+------------+---------+
| contest_id | user_id |
+------------+---------+
| 215 ? ? ? ?| 6 ? ? ? |
| 209 ? ? ? ?| 2 ? ? ? |
| 208 ? ? ? ?| 2 ? ? ? |
| 210 ? ? ? ?| 6 ? ? ? |
| 208 ? ? ? ?| 6 ? ? ? |
| 209 ? ? ? ?| 7 ? ? ? |
| 209 ? ? ? ?| 6 ? ? ? |
| 215 ? ? ? ?| 7 ? ? ? |
| 208 ? ? ? ?| 7 ? ? ? |
| 210 ? ? ? ?| 2 ? ? ? |
| 207 ? ? ? ?| 2 ? ? ? |
| 210 ? ? ? ?| 7 ? ? ? |
+------------+---------+
結(jié)果表:
+------------+------------+
| contest_id | percentage |
+------------+------------+
| 208 ? ? ? ?| 100.0 ? ? ?|
| 209 ? ? ? ?| 100.0 ? ? ?|
| 210 ? ? ? ?| 100.0 ? ? ?|
| 215 ? ? ? ?| 66.67 ? ? ?|
| 207 ? ? ? ?| 33.33 ? ? ?|
+------------+------------+
所有用戶都注冊了 208、209 和 210 賽事,因此這些賽事的注冊率為 100% ,我們按 contest_id 的降序排序加入結(jié)果表中。
Alice 和 Alex 注冊了 215 賽事,注冊率為 ((2/3) * 100) = 66.67%
Bob 注冊了 207 賽事,注冊率為 ((1/3) * 100) = 33.33%
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/percentage-of-users-attended-a-contest
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1661. 每臺機器的進程平均運行時間
表: Activity
+----------------+---------+
| Column Name ? ?| Type ? ?|
+----------------+---------+
| machine_id ? ? | int ? ? |
| process_id ? ? | int ? ? |
| activity_type ?| enum ? ?|
| timestamp ? ? ?| float ? |
+----------------+---------+
該表展示了一家工廠網(wǎng)站的用戶活動.
(machine_id, process_id, activity_type) 是當前表的主鍵.
machine_id 是一臺機器的ID號.
process_id 是運行在各機器上的進程ID號.
activity_type 是枚舉類型 ('start', 'end').
timestamp 是浮點類型,代表當前時間(以秒為單位).
'start' 代表該進程在這臺機器上的開始運行時間戳 , 'end' 代表該進程在這臺機器上的終止運行時間戳.
同一臺機器,同一個進程都有一對開始時間戳和結(jié)束時間戳,而且開始時間戳永遠在結(jié)束時間戳前面.
?
現(xiàn)在有一個工廠網(wǎng)站由幾臺機器運行,每臺機器上運行著相同數(shù)量的進程. 請寫出一條SQL計算每臺機器各自完成一個進程任務的平均耗時.
完成一個進程任務的時間指進程的'end' 時間戳 減去?'start' 時間戳. 平均耗時通過計算每臺機器上所有進程任務的總耗費時間除以機器上的總進程數(shù)量獲得.
結(jié)果表必須包含machine_id(機器ID) 和對應的?average time(平均耗時)?別名?processing_time, 且四舍五入保留3位小數(shù).
具體參考例子如下:
Activity table:
+------------+------------+---------------+-----------+
| machine_id | process_id | activity_type | timestamp |
+------------+------------+---------------+-----------+
| 0 ? ? ? ? ?| 0 ? ? ? ? ?| start ? ? ? ? | 0.712 ? ? |
| 0 ? ? ? ? ?| 0 ? ? ? ? ?| end ? ? ? ? ? | 1.520 ? ? |
| 0 ? ? ? ? ?| 1 ? ? ? ? ?| start ? ? ? ? | 3.140 ? ? |
| 0 ? ? ? ? ?| 1 ? ? ? ? ?| end ? ? ? ? ? | 4.120 ? ? |
| 1 ? ? ? ? ?| 0 ? ? ? ? ?| start ? ? ? ? | 0.550 ? ? |
| 1 ? ? ? ? ?| 0 ? ? ? ? ?| end ? ? ? ? ? | 1.550 ? ? |
| 1 ? ? ? ? ?| 1 ? ? ? ? ?| start ? ? ? ? | 0.430 ? ? |
| 1 ? ? ? ? ?| 1 ? ? ? ? ?| end ? ? ? ? ? | 1.420 ? ? |
| 2 ? ? ? ? ?| 0 ? ? ? ? ?| start ? ? ? ? | 4.100 ? ? |
| 2 ? ? ? ? ?| 0 ? ? ? ? ?| end ? ? ? ? ? | 4.512 ? ? |
| 2 ? ? ? ? ?| 1 ? ? ? ? ?| start ? ? ? ? | 2.500 ? ? |
| 2 ? ? ? ? ?| 1 ? ? ? ? ?| end ? ? ? ? ? | 5.000 ? ? |
+------------+------------+---------------+-----------+
Result table:
+------------+-----------------+
| machine_id | processing_time |
+------------+-----------------+
| 0 ? ? ? ? ?| 0.894 ? ? ? ? ? |
| 1 ? ? ? ? ?| 0.995 ? ? ? ? ? |
| 2 ? ? ? ? ?| 1.456 ? ? ? ? ? |
+------------+-----------------+
一共有3臺機器,每臺機器運行著兩個進程.
機器 0 的平均耗時: ((1.520 - 0.712) + (4.120 - 3.140)) / 2 = 0.894
機器 1 的平均耗時: ((1.550 - 0.550) + (1.420 - 0.430)) / 2 = 0.995
機器 2 的平均耗時: ((4.512 - 4.100) + (5.000 - 2.500)) / 2 = 1.456
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/average-time-of-process-per-machine
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1667. 修復表中的名字
表: Users
+----------------+---------+
| Column Name ? ?| Type ? ?|
+----------------+---------+
| user_id ? ? ? ?| int ? ? |
| name ? ? ? ? ? | varchar |
+----------------+---------+
user_id 是該表的主鍵。
該表包含用戶的 ID 和名字。名字僅由小寫和大寫字符組成。
?
編寫一個 SQL 查詢來修復名字,使得只有第一個字符是大寫的,其余都是小寫的。
返回按 user_id 排序的結(jié)果表。
查詢結(jié)果格式示例如下:
Users table:
+---------+-------+
| user_id | name ?|
+---------+-------+
| 1 ? ? ? | aLice |
| 2 ? ? ? | bOB ? |
+---------+-------+
Result table:
+---------+-------+
| user_id | name ?|
+---------+-------+
| 1 ? ? ? | Alice |
| 2 ? ? ? | Bob ? |
+---------+-------+
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/fix-names-in-a-table
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1677. 發(fā)票中的產(chǎn)品金額
Product 表:
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| product_id ?| int ? ? |
| name ? ? ? ?| varchar |
+-------------+---------+
product_id 是這張表的主鍵
表中含有產(chǎn)品 id 、產(chǎn)品名稱。產(chǎn)品名稱都是小寫的英文字母,產(chǎn)品名稱都是唯一的
Invoice 表:
+-------------+------+
| Column Name | Type |
+-------------+------+
| invoice_id ?| int ?|
| product_id ?| int ?|
| rest ? ? ? ?| int ?|
| paid ? ? ? ?| int ?|
| canceled ? ?| int ?|
| refunded ? ?| int ?|
+-------------+------+
invoice_id 發(fā)票 id ,是這張表的主鍵
product_id 產(chǎn)品 id
rest 應繳款項
paid 已支付金額
canceled 已取消金額
refunded 已退款金額
?
要求寫一個SQL查詢,對于所有產(chǎn)品,返回每個產(chǎn)品的產(chǎn)品名稱,以及全部發(fā)票累計的總應繳款項、總已支付金額、總已取消金額、總已退款金額。
查詢結(jié)果按 product_name 排序
示例:
Product 表:
+------------+-------+
| product_id | name ?|
+------------+-------+
| 0 ? ? ? ? ?| ham ? |
| 1 ? ? ? ? ?| bacon |
+------------+-------+
Invoice table:
+------------+------------+------+------+----------+----------+
| invoice_id | product_id | rest | paid | canceled | refunded |
+------------+------------+------+------+----------+----------+
| 23 ? ? ? ? | 0 ? ? ? ? ?| 2 ? ?| 0 ? ?| 5 ? ? ? ?| 0 ? ? ? ?|
| 12 ? ? ? ? | 0 ? ? ? ? ?| 0 ? ?| 4 ? ?| 0 ? ? ? ?| 3 ? ? ? ?|
| 1 ? ? ? ? ?| 1 ? ? ? ? ?| 1 ? ?| 1 ? ?| 0 ? ? ? ?| 1 ? ? ? ?|
| 2 ? ? ? ? ?| 1 ? ? ? ? ?| 1 ? ?| 0 ? ?| 1 ? ? ? ?| 1 ? ? ? ?|
| 3 ? ? ? ? ?| 1 ? ? ? ? ?| 0 ? ?| 1 ? ?| 1 ? ? ? ?| 1 ? ? ? ?|
| 4 ? ? ? ? ?| 1 ? ? ? ? ?| 1 ? ?| 1 ? ?| 1 ? ? ? ?| 0 ? ? ? ?|
+------------+------------+------+------+----------+----------+
Result 表:
+-------+------+------+----------+----------+
| name ?| rest | paid | canceled | refunded |
+-------+------+------+----------+----------+
| bacon | 3 ? ?| 3 ? ?| 3 ? ? ? ?| 3 ? ? ? ?|
| ham ? | 2 ? ?| 4 ? ?| 5 ? ? ? ?| 3 ? ? ? ?|
+-------+------+------+----------+----------+
- bacon 的總應繳款項為 1 + 1 + 0 + 1 = 3
- bacon 的總已支付金額為 1 + 0 + 1 + 1 = 3
- bacon 的總已取消金額為 0 + 1 + 1 + 1 = 3
- bacon 的總已退款金額為 1 + 1 + 1 + 0 = 3
- ham 的總應繳款項為 2 + 0 = 2
- ham 的總已支付金額為 0 + 4 = 4
- ham 的總已取消金額為 5 + 0 = 5
- ham 的總已退款金額為 0 + 3 = 3
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/products-worth-over-invoices
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1683. 無效的推文
表:Tweets
+----------------+---------+
| Column Name ? ?| Type ? ?|
+----------------+---------+
| tweet_id ? ? ? | int ? ? |
| content ? ? ? ?| varchar |
+----------------+---------+
tweet_id 是這個表的主鍵。
這個表包含某社交媒體 App 中所有的推文。
?
寫一條?SQL 語句,查詢所有無效推文的編號(ID)。當推文內(nèi)容中的字符數(shù)嚴格大于 15 時,該推文是無效的。
以任意順序返回結(jié)果表。
查詢結(jié)果格式如下示例所示:
Tweets 表:
+----------+----------------------------------+
| tweet_id | content ? ? ? ? ? ? ? ? ? ? ? ? ?|
+----------+----------------------------------+
| 1 ? ? ? ?| Vote for Biden ? ? ? ? ? ? ? ? ? |
| 2 ? ? ? ?| Let us make America great again! |
+----------+----------------------------------+
結(jié)果表:
+----------+
| tweet_id |
+----------+
| 2 ? ? ? ?|
+----------+
推文 1 的長度 length = 14。該推文是有效的。
推文 2 的長度 length = 32。該推文是無效的。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/invalid-tweets
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1693. 每天的領導和合伙人
表:DailySales
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| date_id ? ? | date ? ?|
| make_name ? | varchar |
| lead_id ? ? | int ? ? |
| partner_id ?| int ? ? |
+-------------+---------+
該表沒有主鍵。
該表包含日期、產(chǎn)品的名稱,以及售給的領導和合伙人的編號。
名稱只包含小寫英文字母。
?
寫一條 SQL 語句,使得對于每一個?date_id?和?make_name,返回不同的?lead_id?以及不同的?partner_id?的數(shù)量。
按任意順序返回結(jié)果表。
查詢結(jié)果格式如下示例所示:
DailySales 表:
+-----------+-----------+---------+------------+
| date_id ? | make_name | lead_id | partner_id |
+-----------+-----------+---------+------------+
| 2020-12-8 | toyota ? ?| 0 ? ? ? | 1 ? ? ? ? ?|
| 2020-12-8 | toyota ? ?| 1 ? ? ? | 0 ? ? ? ? ?|
| 2020-12-8 | toyota ? ?| 1 ? ? ? | 2 ? ? ? ? ?|
| 2020-12-7 | toyota ? ?| 0 ? ? ? | 2 ? ? ? ? ?|
| 2020-12-7 | toyota ? ?| 0 ? ? ? | 1 ? ? ? ? ?|
| 2020-12-8 | honda ? ? | 1 ? ? ? | 2 ? ? ? ? ?|
| 2020-12-8 | honda ? ? | 2 ? ? ? | 1 ? ? ? ? ?|
| 2020-12-7 | honda ? ? | 0 ? ? ? | 1 ? ? ? ? ?|
| 2020-12-7 | honda ? ? | 1 ? ? ? | 2 ? ? ? ? ?|
| 2020-12-7 | honda ? ? | 2 ? ? ? | 1 ? ? ? ? ?|
+-----------+-----------+---------+------------+
結(jié)果表:
+-----------+-----------+--------------+-----------------+
| date_id ? | make_name | unique_leads | unique_partners |
+-----------+-----------+--------------+-----------------+
| 2020-12-8 | toyota ? ?| 2 ? ? ? ? ? ?| 3 ? ? ? ? ? ? ? |
| 2020-12-7 | toyota ? ?| 1 ? ? ? ? ? ?| 2 ? ? ? ? ? ? ? |
| 2020-12-8 | honda ? ? | 2 ? ? ? ? ? ?| 2 ? ? ? ? ? ? ? |
| 2020-12-7 | honda ? ? | 3 ? ? ? ? ? ?| 2 ? ? ? ? ? ? ? |
+-----------+-----------+--------------+-----------------+
在 2020-12-8,豐田(toyota)有領導者 = [0, 1] 和合伙人 = [0, 1, 2] ,同時本田(honda)有領導者 = [1, 2] 和合伙人 = [1, 2]。
在 2020-12-7,豐田(toyota)有領導者 = [0] 和合伙人 = [1, 2] ,同時本田(honda)有領導者 = [0, 1, 2] 和合伙人 = [1, 2]。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/daily-leads-and-partners
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1729. 求關注者的數(shù)量
表:?Followers
+-------------+------+
| Column Name | Type |
+-------------+------+
| user_id ? ? | int ?|
| follower_id | int ?|
+-------------+------+
(user_id, follower_id) 是這個表的主鍵。
該表包含一個關注關系中關注者和用戶的編號,其中關注者關注用戶。
寫出 SQL 語句,對于每一個用戶,返回該用戶的關注者數(shù)量。
按?user_id?的順序返回結(jié)果表。
查詢結(jié)果的格式如下示例所示:
Followers 表:
+---------+-------------+
| user_id | follower_id |
+---------+-------------+
| 0 ? ? ? | 1 ? ? ? ? ? |
| 1 ? ? ? | 0 ? ? ? ? ? |
| 2 ? ? ? | 0 ? ? ? ? ? |
| 2 ? ? ? | 1 ? ? ? ? ? |
+---------+-------------+
結(jié)果表:
+---------+----------------+
| user_id | followers_count|
+---------+----------------+
| 0 ? ? ? | 1 ? ? ? ? ? ? ?|
| 1 ? ? ? | 1 ? ? ? ? ? ? ?|
| 2 ? ? ? | 2 ? ? ? ? ? ? ?|
+---------+----------------+
0 的關注者有 {1}
1 的關注者有 {0}
2 的關注者有 {0,1}
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-followers-count
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1731. 每位經(jīng)理的下屬員工數(shù)量
Table: Employees
+-------------+----------+
| Column Name | Type ? ? |
+-------------+----------+
| employee_id | int ? ? ?|
| name ? ? ? ?| varchar ?|
| reports_to ?| int ? ? ?|
| age ? ? ? ? | int ? ? ?|
+-------------+----------+
employee_id 是這個表的主鍵.
該表包含員工以及需要聽取他們匯報的上級經(jīng)理的ID的信息。 有些員工不需要向任何人匯報(reports_to 為空)。
?
對于此問題,我們將至少有一個其他員工需要向他匯報的員工,視為一個經(jīng)理。
編寫SQL查詢需要聽取匯報的所有經(jīng)理的ID、名稱、直接向該經(jīng)理匯報的員工人數(shù),以及這些員工的平均年齡,其中該平均年齡需要四舍五入到最接近的整數(shù)。
返回的結(jié)果集需要按照?employee_id 進行排序。
查詢結(jié)果的格式如下:
Employees table:
+-------------+---------+------------+-----+
| employee_id | name ? ?| reports_to | age |
+-------------+---------+------------+-----+
| 9 ? ? ? ? ? | Hercy ? | null ? ? ? | 43 ?|
| 6 ? ? ? ? ? | Alice ? | 9 ? ? ? ? ?| 41 ?|
| 4 ? ? ? ? ? | Bob ? ? | 9 ? ? ? ? ?| 36 ?|
| 2 ? ? ? ? ? | Winston | null ? ? ? | 37 ?|
+-------------+---------+------------+-----+
Result table:
+-------------+-------+---------------+-------------+
| employee_id | name ?| reports_count | average_age |
+-------------+-------+---------------+-------------+
| 9 ? ? ? ? ? | Hercy | 2 ? ? ? ? ? ? | 39 ? ? ? ? ?|
+-------------+-------+---------------+-------------+
Hercy 有兩個需要向他匯報的員工, 他們是 Alice and Bob. 他們的平均年齡是 (41+36)/2 = 38.5, 四舍五入的結(jié)果是 39.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/the-number-of-employees-which-report-to-each-employee
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1741. 查找每個員工花費的總時間
表: Employees
+-------------+------+
| Column Name | Type |
+-------------+------+
| emp_id ? ? ?| int ?|
| event_day ? | date |
| in_time ? ? | int ?|
| out_time ? ?| int ?|
+-------------+------+
(emp_id, event_day, in_time) 是這個表的主鍵。
該表顯示了員工在辦公室的出入情況。
event_day 是此事件發(fā)生的日期,in_time 是員工進入辦公室的時間,而 out_time 是他們離開辦公室的時間。
in_time 和 out_time 的取值在1到1440之間。
題目保證同一天沒有兩個事件在時間上是相交的,并且保證 in_time 小于 out_time。
?
編寫一個SQL查詢以計算每位員工每天在辦公室花費的總時間(以分鐘為單位)。 請注意,在一天之內(nèi),同一員工是可以多次進入和離開辦公室的。 在辦公室里一次進出所花費的時間為out_time 減去 in_time。
返回結(jié)果表單的順序無要求。
查詢結(jié)果的格式如下:
Employees table:
+--------+------------+---------+----------+
| emp_id | event_day ?| in_time | out_time |
+--------+------------+---------+----------+
| 1 ? ? ?| 2020-11-28 | 4 ? ? ? | 32 ? ? ? |
| 1 ? ? ?| 2020-11-28 | 55 ? ? ?| 200 ? ? ?|
| 1 ? ? ?| 2020-12-03 | 1 ? ? ? | 42 ? ? ? |
| 2 ? ? ?| 2020-11-28 | 3 ? ? ? | 33 ? ? ? |
| 2 ? ? ?| 2020-12-09 | 47 ? ? ?| 74 ? ? ? |
+--------+------------+---------+----------+
Result table:
+------------+--------+------------+
| day ? ? ? ?| emp_id | total_time |
+------------+--------+------------+
| 2020-11-28 | 1 ? ? ?| 173 ? ? ? ?|
| 2020-11-28 | 2 ? ? ?| 30 ? ? ? ? |
| 2020-12-03 | 1 ? ? ?| 41 ? ? ? ? |
| 2020-12-09 | 2 ? ? ?| 27 ? ? ? ? |
+------------+--------+------------+
雇員 1 有三次進出: 有兩次發(fā)生在 2020-11-28 花費的時間為 (32 - 4) + (200 - 55) = 173, 有一次發(fā)生在 2020-12-03 花費的時間為 (42 - 1) = 41。
雇員 2 有兩次進出: 有一次發(fā)生在 2020-11-28 花費的時間為 (33 - 3) = 30, ?有一次發(fā)生在 2020-12-09 花費的時間為 (74 - 47) = 27。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-total-time-spent-by-each-employee
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1757. 可回收且低脂的產(chǎn)品
表:Products
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| product_id ?| int ? ? |
| low_fats ? ?| enum ? ?|
| recyclable ?| enum ? ?|
+-------------+---------+
product_id 是這個表的主鍵。
low_fats 是枚舉類型,取值為以下兩種 ('Y', 'N'),其中 'Y' 表示該產(chǎn)品是低脂產(chǎn)品,'N' 表示不是低脂產(chǎn)品。
recyclable 是枚舉類型,取值為以下兩種 ('Y', 'N'),其中 'Y' 表示該產(chǎn)品可回收,而 'N' 表示不可回收。
?
寫出 SQL 語句,查找既是低脂又是可回收的產(chǎn)品編號。
返回結(jié)果 無順序要求 。
查詢結(jié)果格式如下例所示:
Products 表:
+-------------+----------+------------+
| product_id ?| low_fats | recyclable |
+-------------+----------+------------+
| 0 ? ? ? ? ? | Y ? ? ? ?| N ? ? ? ? ?|
| 1 ? ? ? ? ? | Y ? ? ? ?| Y ? ? ? ? ?|
| 2 ? ? ? ? ? | N ? ? ? ?| Y ? ? ? ? ?|
| 3 ? ? ? ? ? | Y ? ? ? ?| Y ? ? ? ? ?|
| 4 ? ? ? ? ? | N ? ? ? ?| N ? ? ? ? ?|
+-------------+----------+------------+
Result 表:
+-------------+
| product_id ?|
+-------------+
| 1 ? ? ? ? ? |
| 3 ? ? ? ? ? |
+-------------+
只有產(chǎn)品 id 為 1 和 3 的產(chǎn)品,既是低脂又是可回收的產(chǎn)品。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/recyclable-and-low-fat-products
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1777. 每家商店的產(chǎn)品價格
表:Products
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| product_id ?| int ? ? |
| store ? ? ? | enum ? ?|
| price ? ? ? | int ? ? |
+-------------+---------+
(product_id,store) 是這個表的主鍵。
store 字段是枚舉類型,它的取值為以下三種 ('store1', 'store2', 'store3') 。
price 是該商品在這家商店中的價格。
?
寫出一個 SQL 查詢語句,查找每種產(chǎn)品在各個商店中的價格。
可以以 任何順序 輸出結(jié)果。
查詢結(jié)果格式如下例所示:
Products 表:
+-------------+--------+-------+
| product_id ?| store ?| price |
+-------------+--------+-------+
| 0 ? ? ? ? ? | store1 | 95 ? ?|
| 0 ? ? ? ? ? | store3 | 105 ? |
| 0 ? ? ? ? ? | store2 | 100 ? |
| 1 ? ? ? ? ? | store1 | 70 ? ?|
| 1 ? ? ? ? ? | store3 | 80 ? ?|
+-------------+--------+-------+
Result 表:
+-------------+--------+--------+--------+
| product_id ?| store1 | store2 | store3 |
+-------------+--------+--------+--------+
| 0 ? ? ? ? ? | 95 ? ? | 100 ? ?| 105 ? ?|
| 1 ? ? ? ? ? | 70 ? ? | null ? | 80 ? ? |
+-------------+--------+--------+--------+
產(chǎn)品 0 的價格在商店 1 為 95 ,商店 2 為 100 ,商店 3 為 105 。
產(chǎn)品 1 的價格在商店 1 為 70 ,商店 3 的產(chǎn)品 1 價格為 80 ,但在商店 2 中沒有銷售。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/products-price-for-each-store
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1789. 員工的直屬部門
Table: Employee
+---------------+---------+
| Column Name ? | ?Type ? |
+---------------+---------+
| employee_id ? | int ? ? |
| department_id | int ? ? |
| primary_flag ?| varchar |
+---------------+---------+
這張表的主鍵為 employee_id, department_id
employee_id 是員工的ID
department_id 是部門的ID,表示員工與該部門有關系
primary_flag 是一個枚舉類型,值分別為('Y', 'N'). 如果值為'Y',表示該部門是員工的直屬部門。 如果值是'N',則否
?
一個員工可以屬于多個部門。
當一個員工加入超過一個部門的時候,他需要決定哪個部門是他的直屬部門。
請注意,當員工只加入一個部門的時候,那這個部門將默認為他的直屬部門,雖然表記錄的值為'N'.
請編寫一段SQL,查出員工所屬的直屬部門。
返回結(jié)果沒有順序要求。
示例:
Employee table:
+-------------+---------------+--------------+
| employee_id | department_id | primary_flag |
+-------------+---------------+--------------+
| 1 ? ? ? ? ? | 1 ? ? ? ? ? ? | N ? ? ? ? ? ?|
| 2 ? ? ? ? ? | 1 ? ? ? ? ? ? | Y ? ? ? ? ? ?|
| 2 ? ? ? ? ? | 2 ? ? ? ? ? ? | N ? ? ? ? ? ?|
| 3 ? ? ? ? ? | 3 ? ? ? ? ? ? | N ? ? ? ? ? ?|
| 4 ? ? ? ? ? | 2 ? ? ? ? ? ? | N ? ? ? ? ? ?|
| 4 ? ? ? ? ? | 3 ? ? ? ? ? ? | Y ? ? ? ? ? ?|
| 4 ? ? ? ? ? | 4 ? ? ? ? ? ? | N ? ? ? ? ? ?|
+-------------+---------------+--------------+
Result table:
+-------------+---------------+
| employee_id | department_id |
+-------------+---------------+
| 1 ? ? ? ? ? | 1 ? ? ? ? ? ? |
| 2 ? ? ? ? ? | 1 ? ? ? ? ? ? |
| 3 ? ? ? ? ? | 3 ? ? ? ? ? ? |
| 4 ? ? ? ? ? | 3 ? ? ? ? ? ? |
+-------------+---------------+
- 員工1的直屬部門是1
- 員工2的直屬部門是1
- 員工3的直屬部門是3
- 員工4的直屬部門是3
?
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/primary-department-for-each-employee
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1795. 每個產(chǎn)品在不同商店的價格
表:Products
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| product_id ?| int ? ? |
| store1 ? ? ?| int ? ? |
| store2 ? ? ?| int ? ? |
| store3 ? ? ?| int ? ? |
+-------------+---------+
這張表的主鍵是product_id(產(chǎn)品Id)。
每行存儲了這一產(chǎn)品在不同商店store1, store2, store3的價格。
如果這一產(chǎn)品在商店里沒有出售,則值將為null。
?
請你重構(gòu) Products 表,查詢每個產(chǎn)品在不同商店的價格,使得輸出的格式變?yōu)?product_id, store, price) 。如果這一產(chǎn)品在商店里沒有出售,則不輸出這一行。
輸出結(jié)果表中的順序不作要求。
查詢輸出格式請參考下面示例。
Products table:
+------------+--------+--------+--------+
| product_id | store1 | store2 | store3 |
+------------+--------+--------+--------+
| 0 ? ? ? ? ?| 95 ? ? | 100 ? ?| 105 ? ?|
| 1 ? ? ? ? ?| 70 ? ? | null ? | 80 ? ? |
+------------+--------+--------+--------+
Result table:
+------------+--------+-------+
| product_id | store ?| price |
+------------+--------+-------+
| 0 ? ? ? ? ?| store1 | 95 ? ?|
| 0 ? ? ? ? ?| store2 | 100 ? |
| 0 ? ? ? ? ?| store3 | 105 ? |
| 1 ? ? ? ? ?| store1 | 70 ? ?|
| 1 ? ? ? ? ?| store3 | 80 ? ?|
+------------+--------+-------+
產(chǎn)品0在store1,store2,store3的價格分別為95,100,105。
產(chǎn)品1在store1,store3的價格分別為70,80。在store2無法買到。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/rearrange-products-table
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1809. 沒有廣告的劇集
Table: Playback
+-------------+------+
| Column Name | Type |
+-------------+------+
| session_id ?| int ?|
| customer_id | int ?|
| start_time ?| int ?|
| end_time ? ?| int ?|
+-------------+------+
該表主鍵為:session_id (劇集id)
customer_id 是觀看該劇集的觀眾id
劇集播放時間包含start_time(開始時間) 及 end_time(結(jié)束時間)
可以保證的是,start_time(開始時間)<= end_time(結(jié)束時間),一個觀眾觀看的兩個劇集的時間不會出現(xiàn)重疊。
?
Table: Ads
+-------------+------+
| Column Name | Type |
+-------------+------+
| ad_id ? ? ? | int ?|
| customer_id | int ?|
| timestamp ? | int ?|
+-------------+------+
該表的主鍵為:ad_id(廣告id)
customer_id 為 觀看廣告的用戶id
timestamp 表示廣告出現(xiàn)的時間點
?
請查出,所有沒有廣告出現(xiàn)過的劇集。
如果觀眾觀看了劇集,并且劇集里出現(xiàn)了廣告,就一定會有觀眾觀看廣告的記錄。
返回結(jié)果沒有順序要求。
示例:
Playback table:
+------------+-------------+------------+----------+
| session_id | customer_id | start_time | end_time |
+------------+-------------+------------+----------+
| 1 ? ? ? ? ?| 1 ? ? ? ? ? | 1 ? ? ? ? ?| 5 ? ? ? ?|
| 2 ? ? ? ? ?| 1 ? ? ? ? ? | 15 ? ? ? ? | 23 ? ? ? |
| 3 ? ? ? ? ?| 2 ? ? ? ? ? | 10 ? ? ? ? | 12 ? ? ? |
| 4 ? ? ? ? ?| 2 ? ? ? ? ? | 17 ? ? ? ? | 28 ? ? ? |
| 5 ? ? ? ? ?| 2 ? ? ? ? ? | 2 ? ? ? ? ?| 8 ? ? ? ?|
+------------+-------------+------------+----------+
Ads table:
+-------+-------------+-----------+
| ad_id | customer_id | timestamp |
+-------+-------------+-----------+
| 1 ? ? | 1 ? ? ? ? ? | 5 ? ? ? ? |
| 2 ? ? | 2 ? ? ? ? ? | 17 ? ? ? ?|
| 3 ? ? | 2 ? ? ? ? ? | 20 ? ? ? ?|
+-------+-------------+-----------+
Result table:
+------------+
| session_id |
+------------+
| 2 ? ? ? ? ?|
| 3 ? ? ? ? ?|
| 5 ? ? ? ? ?|
+------------+
廣告1出現(xiàn)在了劇集1的時間段,被觀眾1看到了。
廣告2出現(xiàn)在了劇集4的時間段,被觀眾2看到了。
廣告3出現(xiàn)在了劇集4的時間段,被觀眾2看到了。
我們可以得出結(jié)論,劇集1 、4 內(nèi),起碼有1處廣告。 劇集2 、3 、5 沒有廣告。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/ad-free-sessions
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1821. 尋找今年具有正收入的客戶
表:Customers
+--------------+------+
| Column Name ?| Type |
+--------------+------+
| customer_id ?| int ?|
| year ? ? ? ? | int ?|
| revenue ? ? ?| int ?|
+--------------+------+
(customer_id, year) 是這個表的主鍵。
這個表包含客戶 ID 和不同年份的客戶收入。
注意,這個收入可能是負數(shù)。
?
寫一個 SQL 查詢來查詢 2021 年具有 正收入 的客戶。
可以按 任意順序 返回結(jié)果表。
查詢結(jié)果格式如下例。
Customers
+-------------+------+---------+
| customer_id | year | revenue |
+-------------+------+---------+
| 1 ? ? ? ? ? | 2018 | 50 ? ? ?|
| 1 ? ? ? ? ? | 2021 | 30 ? ? ?|
| 1 ? ? ? ? ? | 2020 | 70 ? ? ?|
| 2 ? ? ? ? ? | 2021 | -50 ? ? |
| 3 ? ? ? ? ? | 2018 | 10 ? ? ?|
| 3 ? ? ? ? ? | 2016 | 50 ? ? ?|
| 4 ? ? ? ? ? | 2021 | 20 ? ? ?|
+-------------+------+---------+
Result table:
+-------------+
| customer_id |
+-------------+
| 1 ? ? ? ? ? |
| 4 ? ? ? ? ? |
+-------------+
客戶 1 在 2021 年的收入等于 30 。
客戶 2 在 2021 年的收入等于 -50 。
客戶 3 在 2021 年沒有收入。
客戶 4 在 2021 年的收入等于 20 。
因此,只有客戶 1 和 4 在 2021 年有正收入。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-customers-with-positive-revenue-this-year
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1873. 計算特殊獎金
表: Employees
+-------------+---------+
| 列名 ? ? ? ?| 類型 ? ? |
+-------------+---------+
| employee_id | int ? ? |
| name ? ? ? ?| varchar |
| salary ? ? ?| int ? ? |
+-------------+---------+
employee_id 是這個表的主鍵。
此表的每一行給出了雇員id ,名字和薪水。
?
寫出一個SQL 查詢語句,計算每個雇員的獎金。如果一個雇員的id是奇數(shù)并且他的名字不是以'M'開頭,那么他的獎金是他工資的100%,否則獎金為0。
Return the result table ordered by employee_id.
返回的結(jié)果集請按照employee_id排序。
查詢結(jié)果格式如下面的例子所示:
Employees 表:
+-------------+---------+--------+
| employee_id | name ? ?| salary |
+-------------+---------+--------+
| 2 ? ? ? ? ? | Meir ? ?| 3000 ? |
| 3 ? ? ? ? ? | Michael | 3800 ? |
| 7 ? ? ? ? ? | Addilyn | 7400 ? |
| 8 ? ? ? ? ? | Juan ? ?| 6100 ? |
| 9 ? ? ? ? ? | Kannon ?| 7700 ? |
+-------------+---------+--------+
結(jié)果表:
+-------------+-------+
| employee_id | bonus |
+-------------+-------+
| 2 ? ? ? ? ? | 0 ? ? |
| 3 ? ? ? ? ? | 0 ? ? |
| 7 ? ? ? ? ? | 7400 ?|
| 8 ? ? ? ? ? | 0 ? ? |
| 9 ? ? ? ? ? | 7700 ?|
+-------------+-------+
因為雇員id是偶數(shù),所以雇員id 是2和8的兩個雇員得到的獎金是0。
雇員id為3的因為他的名字以'M'開頭,所以,獎金是0。
其他的雇員得到了百分之百的獎金。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/calculate-special-bonus
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1890. 2020年最后一次登錄
表: Logins
+----------------+----------+
| 列名 ? ? ? ? ? | 類型 ? ? ?|
+----------------+----------+
| user_id ? ? ? ?| int ? ? ?|
| time_stamp ? ? | datetime |
+----------------+----------+
(user_id, time_stamp) 是這個表的主鍵。
每一行包含的信息是user_id 這個用戶的登錄時間。
編寫一個 SQL 查詢,該查詢可以獲取在2020年登錄過的所有用戶的本年度最后一次登錄時間。結(jié)果集不包含2020年沒有登錄過的用戶。
返回的結(jié)果集可以按任意順序排列。
查詢結(jié)果格式如下例:
Logins 表:
+---------+---------------------+
| user_id | time_stamp ? ? ? ? ?|
+---------+---------------------+
| 6 ? ? ? | 2020-06-30 15:06:07 |
| 6 ? ? ? | 2021-04-21 14:06:06 |
| 6 ? ? ? | 2019-03-07 00:18:15 |
| 8 ? ? ? | 2020-02-01 05:10:53 |
| 8 ? ? ? | 2020-12-30 00:46:50 |
| 2 ? ? ? | 2020-01-16 02:49:50 |
| 2 ? ? ? | 2019-08-25 07:59:08 |
| 14 ? ? ?| 2019-07-14 09:00:00 |
| 14 ? ? ?| 2021-01-06 11:59:59 |
+---------+---------------------+
Result 表:
+---------+---------------------+
| user_id | last_stamp ? ? ? ? ?|
+---------+---------------------+
| 6 ? ? ? | 2020-06-30 15:06:07 |
| 8 ? ? ? | 2020-12-30 00:46:50 |
| 2 ? ? ? | 2020-01-16 02:49:50 |
+---------+---------------------+
6號用戶登錄了3次,但是在2020年僅有一次,所以結(jié)果集應包含此次登錄。
8號用戶在2020年登錄了2次,一次在2月,一次在12月,所以,結(jié)果集應該包含12月的這次登錄。
2號用戶登錄了2次,但是在2020年僅有一次,所以結(jié)果集應包含此次登錄。
14號用戶在2020年沒有登錄,所以結(jié)果集不應包含。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/the-latest-login-in-2020
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1939. 主動請求確認消息的用戶
Table: Signups
+----------------+----------+
| Column Name ? ?| Type ? ? |
+----------------+----------+
| user_id ? ? ? ?| int ? ? ?|
| time_stamp ? ? | datetime |
+----------------+----------+
user_id is the primary key for this table.
每行包含有關 ID 為 user_id 的用戶的注冊時間的信息。
?
Table: Confirmations
+----------------+----------+
| Column Name ? ?| Type ? ? |
+----------------+----------+
| user_id ? ? ? ?| int ? ? ?|
| time_stamp ? ? | datetime |
| action ? ? ? ? | ENUM ? ? |
+----------------+----------+
(user_id, time_stamp) is the primary key for this table.
user_id is a foreign key with a reference to the Signups table.
action is an ENUM of the type ('confirmed', 'timeout')
此表的每一行都表示 ID 為 user_id 的用戶在 time_stamp 請求了確認消息,并且該確認消息已被確認('confirmed')或已過期('timeout')。
編寫 SQL 查詢以查找在 24 小時窗口內(nèi)兩次請求確認消息的用戶的 ID。 兩個正好相隔 24 小時的消息被認為是在窗口內(nèi)。 該操作不會影響答案,只會影響請求時間。
以任意順序返回結(jié)果表。
查詢結(jié)果格式如下例:
Signups table:
+---------+---------------------+
| user_id | time_stamp ? ? ? ? ?|
+---------+---------------------+
| 3 ? ? ? | 2020-03-21 10:16:13 |
| 7 ? ? ? | 2020-01-04 13:57:59 |
| 2 ? ? ? | 2020-07-29 23:09:44 |
| 6 ? ? ? | 2020-12-09 10:39:37 |
+---------+---------------------+
Confirmations table:
+---------+---------------------+-----------+
| user_id | time_stamp ? ? ? ? ?| action ? ?|
+---------+---------------------+-----------+
| 3 ? ? ? | 2021-01-06 03:30:46 | timeout ? |
| 3 ? ? ? | 2021-01-06 03:37:45 | timeout ? |
| 7 ? ? ? | 2021-06-12 11:57:29 | confirmed |
| 7 ? ? ? | 2021-06-13 11:57:30 | confirmed |
| 2 ? ? ? | 2021-01-22 00:00:00 | confirmed |
| 2 ? ? ? | 2021-01-23 00:00:00 | timeout ? |
| 6 ? ? ? | 2021-10-23 14:14:14 | confirmed |
| 6 ? ? ? | 2021-10-24 14:14:13 | timeout ? |
+---------+---------------------+-----------+
Result table
+---------+
| user_id |
+---------+
| 2 ? ? ? |
| 3 ? ? ? |
| 6 ? ? ? |
+---------+
?
用戶 2 在彼此恰好 24 小時內(nèi)請求了兩條消息,因此我們將它們包括在內(nèi)。 用戶 3 在 6 分 59 秒內(nèi)請求了兩條消息,因此我們將它們包括在內(nèi)。 用戶 6 在 23 小時 59 分 59 秒內(nèi)請求了兩條消息,因此我們將它們包括在內(nèi)。 用戶 7 在 24 小時 1 秒內(nèi)請求了兩條消息,因此我們將它們從答案中排除。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/users-that-actively-request-confirmation-messages
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1965. 丟失信息的雇員
表: Employees
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| employee_id | int ? ? |
| name ? ? ? ?| varchar |
+-------------+---------+
employee_id 是這個表的主鍵。
每一行表示雇員的id 和他的姓名。
表: Salaries
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| employee_id | int ? ? |
| salary ? ? ?| int ? ? |
+-------------+---------+
employee_id is 這個表的主鍵。
每一行表示雇員的id 和他的薪水。
寫出一個查詢語句,找到所有丟失信息的雇員id。當滿足下面一個條件時,就被認為是雇員的信息丟失:
雇員的姓名丟失了,或者
雇員的薪水信息丟失了,或者
返回這些雇員的id,從小到大排序。
查詢結(jié)果格式如下面的例子所示:
Employees table:
+-------------+----------+
| employee_id | name ? ? |
+-------------+----------+
| 2 ? ? ? ? ? | Crew ? ? |
| 4 ? ? ? ? ? | Haven ? ?|
| 5 ? ? ? ? ? | Kristian |
+-------------+----------+
Salaries table:
+-------------+--------+
| employee_id | salary |
+-------------+--------+
| 5 ? ? ? ? ? | 76071 ?|
| 1 ? ? ? ? ? | 22517 ?|
| 4 ? ? ? ? ? | 63539 ?|
+-------------+--------+
Result table:
+-------------+
| employee_id |
+-------------+
| 1 ? ? ? ? ? |
| 2 ? ? ? ? ? |
+-------------+
雇員1,2,4,5 都工作在這個公司。
1號雇員的姓名丟失了。
2號雇員的薪水信息丟失了。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/employees-with-missing-information
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1978. 上級經(jīng)理已離職的公司員工
表: Employees
+-------------+----------+
| Column Name | Type ? ? |
+-------------+----------+
| employee_id | int ? ? ?|
| name ? ? ? ?| varchar ?|
| manager_id ?| int ? ? ?|
| salary ? ? ?| int ? ? ?|
+-------------+----------+
employee_id 是這個表的主鍵。
這個表包含了員工,他們的薪水和上級經(jīng)理的id。
有一些員工沒有上級經(jīng)理(其manager_id 是空值)。
?
寫一個查詢語句,查詢出,這些員工的id,他們的薪水嚴格少于$30000?并且他們的上級經(jīng)理已離職。當一個經(jīng)理離開公司時,他們的信息需要從員工表中刪除掉,但是表中的員工的manager_id ?這一列還是設置的離職經(jīng)理的id?。
返回的結(jié)果按照employee_id?從小到大排序。
查詢結(jié)果如下所示:
?
示例:
輸入:
Employees table:
+-------------+-----------+------------+--------+
| employee_id | name ? ? ?| manager_id | salary |
+-------------+-----------+------------+--------+
| 3 ? ? ? ? ? | Mila ? ? ?| 9 ? ? ? ? ?| 60301 ?|
| 12 ? ? ? ? ?| Antonella | null ? ? ? | 31000 ?|
| 13 ? ? ? ? ?| Emery ? ? | null ? ? ? | 67084 ?|
| 1 ? ? ? ? ? | Kalel ? ? | 11 ? ? ? ? | 21241 ?|
| 9 ? ? ? ? ? | Mikaela ? | null ? ? ? | 50937 ?|
| 11 ? ? ? ? ?| Joziah ? ?| 6 ? ? ? ? ?| 28485 ?|
+-------------+-----------+------------+--------+
輸出:
+-------------+
| employee_id |
+-------------+
| 11 ? ? ? ? ?|
+-------------+
解釋:
薪水少于30000美元的員工有1號(Kalel) and 11號 (Joziah)。
Kalel的上級經(jīng)理是11號員工,他還在公司上班(他是Joziah)。
Joziah的上級經(jīng)理是6號員工,他已經(jīng)離職,因為員工表里面已經(jīng)沒有6號員工的信息了,它被刪除了。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/employees-whose-manager-left-the-company
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1990. 統(tǒng)計實驗的數(shù)量
表: Experiments
+-----------------+------+
| Column Name ? ? | Type |
+-----------------+------+
| experiment_id ? | int ?|
| platform ? ? ? ?| enum |
| experiment_name | enum |
+-----------------+------+
experiment_id 是這個表的主鍵.
platform 是枚舉類型的,取值是這三種 ('Android', 'IOS', 'Web') 之一.
experiment_name 也是枚舉類型的,取值是這三種 ('Reading', 'Sports', 'Programming') 之一.
這個表包含有關隨機實驗人員進行的實驗的 ID、用于做實驗的平臺以及實驗名稱的信息。
?
寫一個 SQL 查詢語句,以報告在給定三個實驗平臺中每種實驗完成的次數(shù)。請注意,每一對(實驗平臺、實驗名稱)都應包含在輸出中,包括平臺上實驗次數(shù)是零的。
結(jié)果可以以任意順序給出。
查詢的結(jié)果如下所示:
示例:
輸入:
Experiments table:
+---------------+----------+-----------------+
| experiment_id | platform | experiment_name |
+---------------+----------+-----------------+
| 4 ? ? ? ? ? ? | IOS ? ? ?| Programming ? ? |
| 13 ? ? ? ? ? ?| IOS ? ? ?| Sports ? ? ? ? ?|
| 14 ? ? ? ? ? ?| Android ?| Reading ? ? ? ? |
| 8 ? ? ? ? ? ? | Web ? ? ?| Reading ? ? ? ? |
| 12 ? ? ? ? ? ?| Web ? ? ?| Reading ? ? ? ? |
| 18 ? ? ? ? ? ?| Web ? ? ?| Programming ? ? |
+---------------+----------+-----------------+
輸出:
+----------+-----------------+-----------------+
| platform | experiment_name | num_experiments |
+----------+-----------------+-----------------+
| Android ?| Reading ? ? ? ? | 1 ? ? ? ? ? ? ? |
| Android ?| Sports ? ? ? ? ?| 0 ? ? ? ? ? ? ? |
| Android ?| Programming ? ? | 0 ? ? ? ? ? ? ? |
| IOS ? ? ?| Reading ? ? ? ? | 0 ? ? ? ? ? ? ? |
| IOS ? ? ?| Sports ? ? ? ? ?| 1 ? ? ? ? ? ? ? |
| IOS ? ? ?| Programming ? ? | 1 ? ? ? ? ? ? ? |
| Web ? ? ?| Reading ? ? ? ? | 2 ? ? ? ? ? ? ? |
| Web ? ? ?| Sports ? ? ? ? ?| 0 ? ? ? ? ? ? ? |
| Web ? ? ?| Programming ? ? | 1 ? ? ? ? ? ? ? |
+----------+-----------------+-----------------+
解釋:
在安卓平臺上, 我們只做了一個"Reading" 實驗.
在 "IOS" 平臺上,我們做了一個"Sports" 實驗和一個"Programming" 實驗.
在 "Web" 平臺上,我們做了兩個"Reading" 實驗和一個"Programming" 實驗.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/count-the-number-of-experiments
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
總結(jié)
以上是生活随笔為你收集整理的LeetCode数据库SQL题目记录(难度:简单)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android面试题总结(三)
- 下一篇: 【网络流】【二分图最大匹配】Buaaco