fix age
This commit is contained in:
parent
a494afca1c
commit
f47355f466
3 changed files with 47 additions and 25 deletions
|
|
@ -251,17 +251,19 @@ notregistered as (
|
|||
--and rh.source is not null
|
||||
),
|
||||
total_recruits AS (
|
||||
SELECT COUNT(distinct r.id) AS total_count
|
||||
SELECT COUNT(distinct ri.recruit_id) AS total_count
|
||||
FROM public.recruits AS r
|
||||
join public.recruits_history rh on rh.recruit_id=r.id
|
||||
JOIN public.recruits_info AS ri
|
||||
ON ri.recruit_id = r.id
|
||||
WHERE
|
||||
r.id in (SELECT recruit_id FROM notregistered) and
|
||||
rh.id in (SELECT recruit_history_id FROM notregistered) and
|
||||
coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids)
|
||||
AND r.current_recruitment_id is null
|
||||
),
|
||||
vse AS (
|
||||
SELECT
|
||||
distinct
|
||||
r.id AS r_id,
|
||||
ri.recruit_id AS recruit_id,
|
||||
coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id,
|
||||
|
|
|
|||
|
|
@ -318,9 +318,9 @@ registered as (
|
|||
--and rh.source is not null
|
||||
),
|
||||
last_status_n as (select recruit_id,
|
||||
max(date_time) filter (where status in ('1', '1.1', '12.2', '12.10')) max_date_time
|
||||
max(date_time) filter (where status in ('1', '12.7', '8.2', '8.3')) max_date_time
|
||||
from recruits_history
|
||||
where status in ('1', '1.1', '12.2', '12.10')
|
||||
where status in ('1', '12.7', '8.2', '8.3')
|
||||
group by recruit_id
|
||||
),
|
||||
notregistered as (
|
||||
|
|
@ -329,7 +329,7 @@ notregistered as (
|
|||
rh.id as recruit_history_id
|
||||
from recruits_history rh
|
||||
join last_status_n ls on rh.recruit_id=ls. recruit_id and rh.date_time=ls.max_date_time
|
||||
where rh.status in ('1', '1.1', '12.2', '12.10')
|
||||
where rh.status in ('1', '12.7', '8.2', '8.3')
|
||||
--and rh.source is not null
|
||||
),
|
||||
recruit_data AS (
|
||||
|
|
@ -373,7 +373,8 @@ recruit_data AS (
|
|||
r.id in (SELECT recruit_id FROM notregistered) and
|
||||
rh.id in (SELECT recruit_history_id FROM notregistered)
|
||||
and coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids)
|
||||
|
||||
AND r.current_recruitment_id is null
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
|
|
@ -391,6 +392,7 @@ recruit_data AS (
|
|||
r.id in (SELECT recruit_id FROM notregistered) and
|
||||
rh.id in (SELECT recruit_history_id FROM notregistered)
|
||||
and coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids)
|
||||
AND r.current_recruitment_id is null
|
||||
|
||||
UNION ALL
|
||||
|
||||
|
|
@ -418,7 +420,7 @@ total_count AS (
|
|||
rd.gender,
|
||||
rd.registered,
|
||||
rd.convicts,
|
||||
COUNT(rd.recruit_id) AS total
|
||||
COUNT(distinct rd.recruit_id) AS total
|
||||
FROM recruit_data rd
|
||||
GROUP BY rd.recruitment_id, rd.gender, rd.registered, rd.convicts
|
||||
),
|
||||
|
|
@ -427,7 +429,7 @@ total_count_all AS (
|
|||
rd.recruitment_id,
|
||||
rd.registered,
|
||||
rd.convicts,
|
||||
COUNT(rd.recruit_id) AS total
|
||||
COUNT(distinct rd.recruit_id) AS total
|
||||
FROM recruit_data rd
|
||||
GROUP BY rd.recruitment_id, rd.registered, rd.convicts
|
||||
),
|
||||
|
|
@ -437,14 +439,14 @@ age_counts AS (
|
|||
rd.gender,
|
||||
rd.registered,
|
||||
rd.convicts,
|
||||
COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) = 17) AS "17_year_count",
|
||||
COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 18 AND 26) AS "18-26_year_count",
|
||||
COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 27 AND 30) AS "27-30_year_count",
|
||||
COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 31 AND 35) AS "31-35_year_count",
|
||||
COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 36 AND 40) AS "36-40_year_count",
|
||||
COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 41 AND 45) AS "41-45_year_count",
|
||||
COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 46 AND 50) AS "46-50_year_count",
|
||||
COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) >= 51) AS "51+_year_count"
|
||||
COUNT(distinct rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) = 17) AS "17_year_count",
|
||||
COUNT(distinct rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 18 AND 26) AS "18-26_year_count",
|
||||
COUNT(distinct rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 27 AND 30) AS "27-30_year_count",
|
||||
COUNT(distinct rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 31 AND 35) AS "31-35_year_count",
|
||||
COUNT(distinct rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 36 AND 40) AS "36-40_year_count",
|
||||
COUNT(distinct rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 41 AND 45) AS "41-45_year_count",
|
||||
COUNT(distinct rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 46 AND 50) AS "46-50_year_count",
|
||||
COUNT(distinct rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) >= 51) AS "51+_year_count"
|
||||
FROM recruit_data rd
|
||||
GROUP BY rd.recruitment_id, rd.gender, rd.registered, rd.convicts
|
||||
),
|
||||
|
|
@ -453,14 +455,14 @@ age_counts_all AS (
|
|||
r.recruitment_id,
|
||||
r.registered,
|
||||
r.convicts,
|
||||
COUNT(r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) = 17) AS "17_year_count",
|
||||
COUNT(r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 18 AND 26) AS "18-26_year_count",
|
||||
COUNT(r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 27 AND 30) AS "27-30_year_count",
|
||||
COUNT(r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 31 AND 35) AS "31-35_year_count",
|
||||
COUNT(r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 36 AND 40) AS "36-40_year_count",
|
||||
COUNT(r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 41 AND 45) AS "41-45_year_count",
|
||||
COUNT(r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 46 AND 50) AS "46-50_year_count",
|
||||
COUNT(r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) >= 51) AS "51+_year_count"
|
||||
COUNT(distinct r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) = 17) AS "17_year_count",
|
||||
COUNT(distinct r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 18 AND 26) AS "18-26_year_count",
|
||||
COUNT(distinct r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 27 AND 30) AS "27-30_year_count",
|
||||
COUNT(distinct r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 31 AND 35) AS "31-35_year_count",
|
||||
COUNT(distinct r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 36 AND 40) AS "36-40_year_count",
|
||||
COUNT(distinct r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 41 AND 45) AS "41-45_year_count",
|
||||
COUNT(distinct r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 46 AND 50) AS "46-50_year_count",
|
||||
COUNT(distinct r.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) >= 51) AS "51+_year_count"
|
||||
FROM recruit_data r
|
||||
GROUP BY r.recruitment_id, r.registered, r.convicts
|
||||
)
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ vse AS (
|
|||
r.gender,
|
||||
CASE
|
||||
WHEN r.vu_current_info->>'recruitmentCommercialInfo' = 'true' THEN 'CONVICT'
|
||||
ELSE 'ALL'
|
||||
ELSE 'NOTCONVICT'
|
||||
END AS convicts,
|
||||
ri.info
|
||||
FROM public.recruits AS r
|
||||
|
|
@ -294,6 +294,24 @@ vse AS (
|
|||
AND rh.id IN (SELECT recruit_history_id FROM registered)
|
||||
AND COALESCE(r.current_recruitment_id, rh.current_recruitment_id)::uuid IN (SELECT recruitment_id FROM ids)
|
||||
AND r.gender IN ('MALE', 'FEMALE')
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
r.id,
|
||||
ri.recruit_id,
|
||||
COALESCE(r.current_recruitment_id, rh.current_recruitment_id) AS recruitment_id,
|
||||
r.gender,
|
||||
'ALL' AS convicts,
|
||||
ri.info
|
||||
FROM public.recruits AS r
|
||||
JOIN public.recruits_info ri ON ri.recruit_id = r.id
|
||||
JOIN public.recruits_history rh ON rh.recruit_id = r.id
|
||||
WHERE
|
||||
r.id IN (SELECT recruit_id FROM registered)
|
||||
AND rh.id IN (SELECT recruit_history_id FROM registered)
|
||||
AND COALESCE(r.current_recruitment_id, rh.current_recruitment_id)::uuid IN (SELECT recruitment_id FROM ids)
|
||||
AND r.gender IN ('MALE', 'FEMALE')
|
||||
),
|
||||
extracted_children AS(
|
||||
SELECT
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue