LeetCode 1303 求團隊人數(簡單)

2021-10-03 17:53:02 字數 2017 閱讀 8770

員工表:employee

+---------------+---------+

| column name   | type    |

+---------------+---------+

| employee_id   | int     |

| team_id       | int     |

+---------------+---------+

employee_id 欄位是這張表的主鍵,表中的每一行都包含每個員工的 id 和他們所屬的團隊。

編寫乙個 sql 查詢,以求得每個員工所在團隊的總人數。

查詢結果中的順序無特定要求。

查詢結果格式示例如下:

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 的團隊的成員。

審題:編寫乙個 sql 查詢,以求得每個員工所在團隊的總人數。

思考:查詢id後邊的團隊id求和。

解題:

select employee_id,

(select count(*) from employee e2

where e1.team_id = e2.team_id) as team_size

from employee e1

-- 練習

select employee_id (select count(*) from employee e2

where e1.team_id = e2.team_id)as team_size

from employee e1;

方法二:left join

select e1.employee_id, count(*) team_size

from employee e1 left join employee e2

on e1.team_id = e2.team_id

group by e1.employee_id;

-- 通過left join

select e1.employee_id,count(*) team_size

from employee e1 left join employee e2

on e1.team_id = e2.team_id

group by e1.employee_id;

知識點:

LeetCode實戰 求眾數

you may assume that the array is non empty and the majority element always exist in the array.example 1 input 3 2,3 output 3example 2 input 2 2,1 1,1 ...

leetcode 演算法 求眾數 169

leetcode 傳送門 給定乙個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在眾數。示例 1 輸入 3,2,3 輸出 3 示例 2 輸入 2,2,1,1,1,2,2 輸出 2 本題是求陣列 現次數大於一半的元素。乙個基...

Leetcode 求眾數 Python實現

題目 求眾數 給定乙個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在眾數。示例 輸入 3,2,3 輸出 3 輸入 2,2,1,1,1,2,2 輸出 2 分析 馬上能想到的,就是構建數頻字典,然後找出數量大於n 2的元素即...