add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
select version();
version
PostgreSQL 14.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10), 64-bit
create table employees(
employee_name VARCHAR(50),
global_team VARCHAR(20),
team VARCHAR(20)
);

insert into employees values
('name_of_head_of_engineering', NULL, 'Engineering'),
('name_1_T1', 'Engineering', 'Team_1'),
('name_2_T1', 'Engineering', 'Team_1'),
('name_3_T1', 'Engineering', 'Team_1'),
('name_4_T1', 'Engineering', 'Team_1'),
('name_5_T1', 'Engineering', 'Team_1'),
('name_2_T2', 'Engineering', 'Team_2'),
('name_1_T2_1', 'Team_2', '2_Team_1'),
('name_2_T2_1', 'Team_2', '2_Team_1'),
('name_1_T2_2', 'Team_2', '2_Team_2'),
('name_2_T2_2', 'Team_2', '2_Team_2'),
('name_3_T2_2', 'Team_2', '2_Team_2');
12 rows affected
SELECT DISTINCT
e.team,
(
WITH RECURSIVE cte AS (
SELECT
ee.team,
ee.global_team
FROM employees ee
WHERE ee.team = e.team
UNION ALL
SELECT
ee.team,
ee.global_team
FROM employees ee
JOIN cte ON ee.global_team = cte.team
)
SELECT COUNT(*) FROM cte WHERE global_team IS NOT NULL
) AS count_employee
FROM employees e
ORDER BY count_employee DESC
team count_employee
Engineering 11
Team_2 6
Team_1 5
2_Team_2 3
2_Team_1 2