leetcode-SQL-1303. 求团队人数

简介: leetcode-SQL-1303. 求团队人数

题目

题目链接

员工表: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 的团队的成员。

解题

方法一:窗口函数

select 
    employee_id,
    count(team_id) over(partition by team_id) as team_size
from Employee;

方法二:左联结+子查询

select a.employee_id,b.team_size
from Employee as a
left join(
    select
        team_id,count(*) as team_size
    from Employee
    group by team_id
)as b
on a.team_id=b.team_id;
相关文章
|
10月前
【Leetcode 1944】队列中可以看到的人数 —— 单调栈
解题思路:维持一个单调递增栈来辅助计算每个人能够看到的人数。从右往左遍历数组,对于每个人,我们将其身高与栈顶元素的身高进行比较。如果当前人的身高比栈顶元素的身高高,则栈顶元素无法被当前人看到,将其出栈,并累计计数
|
10月前
|
存储
leetcode1944. 队列中可以看到的人数
leetcode1944. 队列中可以看到的人数
47 0
|
10月前
|
数据安全/隐私保护 索引
leetcode-6109:知道秘密的人数
leetcode-6109:知道秘密的人数
78 1
|
10月前
|
算法 测试技术 C#
【单调栈】LeetCode:1944队列中可以看到的人数
【单调栈】LeetCode:1944队列中可以看到的人数
|
10月前
|
SQL
leetcode-SQL-580. 统计各专业学生人数
leetcode-SQL-580. 统计各专业学生人数
92 0
|
10月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_90 求团队人数
「SQL面试题库」 No_90 求团队人数
|
10月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_25 统计各专业学生人数
「SQL面试题库」 No_25 统计各专业学生人数
|
10月前
|
算法 测试技术 C++
【单调栈】LeetCode:1944队列中可以看到的人数
【单调栈】LeetCode:1944队列中可以看到的人数
|
6月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
8月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
201 13