Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SQL Scripts
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Harbor Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
HOTMapper
SQL Scripts
Commits
8e7092cf
Commit
8e7092cf
authored
5 years ago
by
jvfpw18
Browse files
Options
Downloads
Patches
Plain Diff
Update 2019, classroom_count and projection
parent
ca1f8c8c
No related branches found
No related tags found
1 merge request
!8
2019
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
docente_por_formacao.sql
+54
-15
54 additions, 15 deletions
docente_por_formacao.sql
idm.sql
+6
-6
6 additions, 6 deletions
idm.sql
matricula_por_localizacao.sql
+4
-5
4 additions, 5 deletions
matricula_por_localizacao.sql
projecao_matricula.sql
+7
-9
7 additions, 9 deletions
projecao_matricula.sql
with
71 additions
and
35 deletions
docente_por_formacao.sql
+
54
−
15
View file @
8e7092cf
...
@@ -31,8 +31,10 @@ WITH
...
@@ -31,8 +31,10 @@ WITH
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
WHERE
((
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
(
turma
.
tipo_turma_id
<=
3
))
WHERE
(
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
2
,
3
,
4
,
5
,
6
,
7
,
8
))
((
docente
.
tipo_turma_id
<=
3
AND
docente
.
tipo_turma_atendimento_id
IS
NULL
)
OR
(
docente
.
tipo_turma_atendimento_id
<=
2
AND
docente
.
tipo_turma_id
IS
NULL
))
AND
(
docente
.
ano_censo
>=
2018
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
))
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
docente
.
id_docente
docente
.
id_docente
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
...
@@ -44,8 +46,10 @@ WITH
...
@@ -44,8 +46,10 @@ WITH
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
WHERE
((
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
(
turma
.
tipo_turma_id
<=
3
))
WHERE
(
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
2
,
3
))
((
docente
.
tipo_turma_id
<=
3
AND
docente
.
tipo_turma_atendimento_id
IS
NULL
)
OR
(
docente
.
tipo_turma_atendimento_id
<=
2
AND
docente
.
tipo_turma_id
IS
NULL
))
AND
(
docente
.
ano_censo
>=
2018
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
3
,
4
))
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
docente
.
id_docente
docente
.
id_docente
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
...
@@ -57,29 +61,64 @@ WITH
...
@@ -57,29 +61,64 @@ WITH
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
WHERE
((
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
(
turma
.
tipo_turma_id
<=
3
))
WHERE
(
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
4
,
5
))
((
docente
.
tipo_turma_id
<=
3
AND
docente
.
tipo_turma_atendimento_id
IS
NULL
)
OR
(
docente
.
tipo_turma_atendimento_id
<=
2
AND
docente
.
tipo_turma_id
IS
NULL
))
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
5
,
6
))
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
docente
.
id_docente
docente
.
id_docente
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
),
),
docente_especializacao_mestrado_doutorado
AS
docente_especializacao
AS
(
SELECT
id_docente
AS
"id_docente"
,
docente
.
ano_censo
AS
ano_censo
,
estado
.
id
AS
estado_id
,
(
SELECT
docente
.
id_docente
AS
"id_docente"
,
docente
.
ano_censo
AS
ano_censo
,
estado
.
id
AS
estado_id
,
municipio
.
id
AS
municipio_id
,
docente
.
dependencia_adm_id
as
dependencia_adm_id
,
municipio
.
id
AS
municipio_id
,
docente
.
dependencia_adm_id
as
dependencia_adm_id
,
6
as
tipo_formacao
docente
.
nivel_tipo_formacao
as
tipo_formacao
FROM
docente
FROM
docente
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
WHERE
((
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
(
turma
.
tipo_turma_id
<=
3
))
WHERE
(
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
6
,
7
,
8
))
((
docente
.
tipo_turma_id
<=
3
AND
docente
.
tipo_turma_atendimento_id
IS
NULL
)
OR
(
docente
.
tipo_turma_atendimento_id
<=
2
AND
docente
.
tipo_turma_id
IS
NULL
))
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
7
,
8
))
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
docente
.
id_docente
,
docente
.
nivel_tipo_formacao
docente
.
id_docente
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
),
docente_mestrado
AS
(
SELECT
docente
.
id_docente
AS
"id_docente"
,
docente
.
ano_censo
AS
ano_censo
,
estado
.
id
AS
estado_id
,
municipio
.
id
AS
municipio_id
,
docente
.
dependencia_adm_id
as
dependencia_adm_id
,
7
as
tipo_formacao
FROM
docente
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
WHERE
(
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
((
docente
.
tipo_turma_id
<=
3
AND
docente
.
tipo_turma_atendimento_id
IS
NULL
)
OR
(
docente
.
tipo_turma_atendimento_id
<=
2
AND
docente
.
tipo_turma_id
IS
NULL
))
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
9
,
10
))
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
docente
.
id_docente
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
)
),
docente_doutorado
AS
(
SELECT
docente
.
id_docente
AS
"id_docente"
,
docente
.
ano_censo
AS
ano_censo
,
estado
.
id
AS
estado_id
,
municipio
.
id
AS
municipio_id
,
docente
.
dependencia_adm_id
as
dependencia_adm_id
,
8
as
tipo_formacao
FROM
docente
INNER
JOIN
turma
ON
(
docente
.
turma_id
=
turma
.
id
AND
docente
.
ano_censo
=
turma
.
ano_censo
)
INNER
JOIN
estado
ON
(
docente
.
escola_estado_id
=
estado
.
id
)
INNER
JOIN
municipio
ON
(
docente
.
escola_municipio_id
=
municipio
.
id
)
WHERE
(
docente
.
tipo_docente
=
1
OR
docente
.
tipo_docente
=
5
)
AND
((
docente
.
tipo_turma_id
<=
3
AND
docente
.
tipo_turma_atendimento_id
IS
NULL
)
OR
(
docente
.
tipo_turma_atendimento_id
<=
2
AND
docente
.
tipo_turma_id
IS
NULL
))
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
11
,
12
)
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
docente
.
id_docente
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
),
SELECT
*
FROM
docente_total
SELECT
*
FROM
docente_total
UNION
ALL
(
SELECT
*
FROM
docente_medio
)
UNION
ALL
(
SELECT
*
FROM
docente_medio
)
UNION
ALL
(
SELECT
*
FROM
docente_superior
)
UNION
ALL
(
SELECT
*
FROM
docente_superior
)
UNION
ALL
(
SELECT
*
FROM
docente_especializacao_mestrado_doutorado
)
UNION
ALL
(
SELECT
*
FROM
docente_especializacao
)
UNION
ALL
(
SELECT
*
FROM
docente_mestrado
)
UNION
ALL
(
SELECT
*
FROM
docente_doutorado
)
);
);
This diff is collapsed.
Click to expand it.
idm.sql
+
6
−
6
View file @
8e7092cf
...
@@ -27,14 +27,14 @@ CREATE TABLE indice_distribuicao_matriculas AS (
...
@@ -27,14 +27,14 @@ CREATE TABLE indice_distribuicao_matriculas AS (
(
SELECT
count
(
serie_ano_id
)
AS
total_estado
,
serie_ano_id
,
estado_id
,
ano_censo
,
localizacao_id
,
(
SELECT
count
(
serie_ano_id
)
AS
total_estado
,
serie_ano_id
,
estado_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
dependencia_adm_id
FROM
matricula
FROM
matricula
WHERE
ano_censo
>=
201
7
AND
tipo
<=
3
AND
dependencia_adm_id
<=
3
WHERE
ano_censo
>=
201
8
AND
dependencia_adm_id
<=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
serie_ano_id
,
estado_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
),
GROUP
BY
serie_ano_id
,
estado_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
),
div_estado_mod
AS
div_estado_mod
AS
(
SELECT
count
(
serie_ano_id
)
AS
total_estado_mod
,
cast
(
LEFT
(
serie_ano_id
,
1
)
as
integer
)
as
serie_mod
,
estado_id
,
(
SELECT
count
(
serie_ano_id
)
AS
total_estado_mod
,
cast
(
LEFT
(
serie_ano_id
,
1
)
as
integer
)
as
serie_mod
,
estado_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
ano_censo
,
localizacao_id
,
dependencia_adm_id
FROM
matricula
FROM
matricula
WHERE
ano_censo
>=
201
7
AND
tipo
<=
3
AND
dependencia_adm_id
<=
3
WHERE
ano_censo
>=
201
8
AND
dependencia_adm_id
<=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
serie_mod
,
estado_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
),
GROUP
BY
serie_mod
,
estado_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
),
div_brasil
AS
div_brasil
AS
...
@@ -56,7 +56,7 @@ CREATE TABLE indice_distribuicao_matriculas AS (
...
@@ -56,7 +56,7 @@ CREATE TABLE indice_distribuicao_matriculas AS (
AND
matricula
.
ano_censo
=
div_brasil
.
ano_censo
AND
matricula
.
ano_censo
=
div_brasil
.
ano_censo
AND
matricula
.
localizacao_id
=
div_brasil
.
localizacao_id
AND
matricula
.
localizacao_id
=
div_brasil
.
localizacao_id
AND
matricula
.
dependencia_adm_id
=
div_brasil
.
dependencia_adm_id
AND
matricula
.
dependencia_adm_id
=
div_brasil
.
dependencia_adm_id
WHERE
matricula
.
ano_censo
>=
201
7
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
3
WHERE
matricula
.
ano_censo
>=
201
8
AND
dependencia_adm_priv
<=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
matricula
.
serie_ano_id
,
total_etapa
,
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
matricula
.
serie_ano_id
,
total_etapa
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
...
@@ -69,7 +69,7 @@ CREATE TABLE indice_distribuicao_matriculas AS (
...
@@ -69,7 +69,7 @@ CREATE TABLE indice_distribuicao_matriculas AS (
AND
matricula
.
ano_censo
=
div_estado
.
ano_censo
AND
matricula
.
ano_censo
=
div_estado
.
ano_censo
AND
matricula
.
localizacao_id
=
div_estado
.
localizacao_id
AND
matricula
.
localizacao_id
=
div_estado
.
localizacao_id
AND
matricula
.
dependencia_adm_id
=
div_estado
.
dependencia_adm_id
AND
matricula
.
dependencia_adm_id
=
div_estado
.
dependencia_adm_id
WHERE
matricula
.
ano_censo
>=
201
7
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
3
WHERE
matricula
.
ano_censo
>=
201
8
AND
dependencia_adm_priv
<=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
matricula
.
serie_ano_id
,
total_etapa
,
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
matricula
.
serie_ano_id
,
total_etapa
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
...
@@ -81,7 +81,7 @@ CREATE TABLE indice_distribuicao_matriculas AS (
...
@@ -81,7 +81,7 @@ CREATE TABLE indice_distribuicao_matriculas AS (
AND
matricula
.
ano_censo
=
div_brasil_mod
.
ano_censo
AND
matricula
.
ano_censo
=
div_brasil_mod
.
ano_censo
AND
matricula
.
localizacao_id
=
div_brasil_mod
.
localizacao_id
AND
matricula
.
localizacao_id
=
div_brasil_mod
.
localizacao_id
AND
matricula
.
dependencia_adm_id
=
div_brasil_mod
.
dependencia_adm_id
AND
matricula
.
dependencia_adm_id
=
div_brasil_mod
.
dependencia_adm_id
WHERE
matricula
.
ano_censo
>=
201
7
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
3
WHERE
matricula
.
ano_censo
>=
201
8
AND
dependencia_adm_priv
<=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
serie_mod
,
total_etapa
,
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
serie_mod
,
total_etapa
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
...
@@ -94,7 +94,7 @@ CREATE TABLE indice_distribuicao_matriculas AS (
...
@@ -94,7 +94,7 @@ CREATE TABLE indice_distribuicao_matriculas AS (
AND
matricula
.
ano_censo
=
div_estado_mod
.
ano_censo
AND
matricula
.
ano_censo
=
div_estado_mod
.
ano_censo
AND
matricula
.
localizacao_id
=
div_estado_mod
.
localizacao_id
AND
matricula
.
localizacao_id
=
div_estado_mod
.
localizacao_id
AND
matricula
.
dependencia_adm_id
=
div_estado_mod
.
dependencia_adm_id
AND
matricula
.
dependencia_adm_id
=
div_estado_mod
.
dependencia_adm_id
WHERE
matricula
.
ano_censo
>=
201
7
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
3
WHERE
matricula
.
ano_censo
>=
201
8
AND
dependencia_adm_priv
<=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
serie_mod
,
total_etapa
,
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
serie_mod
,
total_etapa
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
)
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
)
...
...
This diff is collapsed.
Click to expand it.
matricula_por_localizacao.sql
+
4
−
5
View file @
8e7092cf
...
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
...
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
along with HOTMapper. If not, see <https://www.gnu.org/licenses/>.
along with HOTMapper. If not, see <https://www.gnu.org/licenses/>.
*/
*/
-- depends: matricula 201
7
+
-- depends: matricula 201
8
+
-- SimCAQ: tabela de projeção de matrículas --
-- SimCAQ: tabela de projeção de matrículas --
CREATE
TABLE
matricula_por_localizacao
AS
(
CREATE
TABLE
matricula_por_localizacao
AS
(
...
@@ -28,7 +28,7 @@ WITH
...
@@ -28,7 +28,7 @@ WITH
(
SELECT
count
(
*
)
as
dia_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
(
SELECT
count
(
*
)
as
dia_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
dependencia_adm_id
FROM
matricula
FROM
matricula
WHERE
tipo
<=
3
AND
dependencia_adm_id
<
4
AND
ano_censo
>=
201
7
AND
WHERE
dependencia_adm_id
<
4
AND
ano_censo
>=
201
8
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
AND
(
turma_turno_id
IN
(
1
,
2
,
99
)
OR
turma_turno_id
IS
null
)
(
turma_turno_id
IN
(
1
,
2
,
99
)
OR
turma_turno_id
IS
null
)
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
ORDER
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
ORDER
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
...
@@ -38,7 +38,7 @@ WITH
...
@@ -38,7 +38,7 @@ WITH
(
SELECT
count
(
*
)
as
noite_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
(
SELECT
count
(
*
)
as
noite_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
dependencia_adm_id
FROM
matricula
FROM
matricula
WHERE
tipo
<=
3
AND
dependencia_adm_id
<
4
AND
ano_censo
>=
201
7
AND
turma_turno_id
=
3
WHERE
dependencia_adm_id
<
4
AND
ano_censo
>=
201
8
AND
turma_turno_id
=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
ORDER
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
ORDER
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
)
)
...
@@ -55,8 +55,7 @@ FROM matricula
...
@@ -55,8 +55,7 @@ FROM matricula
AND
matricula
.
municipio_id
=
night_count
.
municipio_id
AND
matricula
.
serie_ano_id
=
night_count
.
serie_ano_id
AND
matricula
.
municipio_id
=
night_count
.
municipio_id
AND
matricula
.
serie_ano_id
=
night_count
.
serie_ano_id
AND
matricula
.
localizacao_id
=
night_count
.
localizacao_id
AND
matricula
.
localizacao_id
=
night_count
.
localizacao_id
AND
matricula
.
dependencia_adm_id
=
night_count
.
dependencia_adm_id
AND
matricula
.
dependencia_adm_id
=
night_count
.
dependencia_adm_id
WHERE
matricula
.
ano_censo
>=
2017
AND
matricula
.
serie_ano_id
IS
NOT
NULL
WHERE
matricula
.
ano_censo
>=
2018
AND
matricula
.
serie_ano_id
IS
NOT
NULL
AND
matricula
.
dependencia_adm_id
<
4
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
AND
matricula
.
tipo
<=
3
AND
matricula
.
dependencia_adm_id
<
4
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
matricula
.
municipio_id
,
matricula
.
serie_ano_id
,
dia_total
,
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
matricula
.
municipio_id
,
matricula
.
serie_ano_id
,
dia_total
,
noite_total
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
noite_total
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
);
);
...
...
This diff is collapsed.
Click to expand it.
projecao_matricula.sql
+
7
−
9
View file @
8e7092cf
...
@@ -26,32 +26,30 @@ CREATE TABLE projecao_matricula AS (
...
@@ -26,32 +26,30 @@ CREATE TABLE projecao_matricula AS (
WITH
urban_day
AS
WITH
urban_day
AS
(
SELECT
count
(
*
)
as
urbano_dia_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
(
SELECT
count
(
*
)
as
urbano_dia_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
FROM
matricula
FROM
matricula
WHERE
localizacao_id
=
1
AND
tipo
<=
3
AND
dependencia_adm_id
IN
(
1
,
2
,
3
)
AND
WHERE
localizacao_id
=
1
AND
dependencia_adm_id
IN
(
1
,
2
,
3
)
AND
(
turma_turno_id
IN
(
1
,
2
,
99
)
OR
turma_turno_id
IS
null
)
AND
(
turma_turno_id
IN
(
1
,
2
,
99
)
OR
turma_turno_id
IS
null
)
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
ORDER
BY
ano_censo
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
),
ORDER
BY
ano_censo
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
),
urban_night
AS
urban_night
AS
(
SELECT
count
(
*
)
as
urbano_noite_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
(
SELECT
count
(
*
)
as
urbano_noite_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
FROM
matricula
FROM
matricula
WHERE
localizacao_id
=
1
AND
tipo
<=
3
AND
dependencia_adm_id
IN
(
1
,
2
,
3
)
AND
WHERE
localizacao_id
=
1
AND
dependencia_adm_id
IN
(
1
,
2
,
3
)
AND
turma_turno_id
=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
turma_turno_id
=
3
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
ORDER
BY
ano_censo
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
),
ORDER
BY
ano_censo
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
),
rural_day
AS
rural_day
AS
(
SELECT
count
(
*
)
as
rural_dia_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
(
SELECT
count
(
*
)
as
rural_dia_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
FROM
matricula
FROM
matricula
WHERE
localizacao_id
=
2
AND
tipo
<=
3
AND
dependencia_adm_id
IN
(
1
,
2
,
3
)
AND
WHERE
localizacao_id
=
2
AND
dependencia_adm_id
IN
(
1
,
2
,
3
)
AND
(
turma_turno_id
IN
(
1
,
2
,
99
)
OR
turma_turno_id
IS
null
)
AND
(
turma_turno_id
IN
(
1
,
2
,
99
)
OR
turma_turno_id
IS
null
)
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
ORDER
BY
ano_censo
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
),
ORDER
BY
ano_censo
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
),
rural_night
AS
rural_night
AS
(
SELECT
count
(
*
)
as
rural_noite_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
(
SELECT
count
(
*
)
as
rural_noite_total
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
FROM
matricula
FROM
matricula
WHERE
localizacao_id
=
2
AND
tipo
<=
3
AND
dependencia_adm_id
IN
(
1
,
2
,
3
)
AND
WHERE
localizacao_id
=
2
AND
dependencia_adm_id
IN
(
1
,
2
,
3
)
AND
turma_turno_id
=
3
AND
(
tipo_atendimento_turma
<=
2
OR
tipo
<=
3
)
turma_turno_id
=
3
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
ORDER
BY
ano_censo
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
)
ORDER
BY
ano_censo
,
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
)
...
@@ -71,7 +69,7 @@ FROM matricula
...
@@ -71,7 +69,7 @@ FROM matricula
GROUP
BY
GROUP
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
matricula
.
municipio_id
,
etapa_ensino_escola_ano_id
,
urbano_dia_total
,
matricula
.
ano_censo
,
matricula
.
estado_id
,
matricula
.
municipio_id
,
etapa_ensino_escola_ano_id
,
urbano_dia_total
,
rural_dia_total
,
urbano_noite_total
,
rural_noite_total
rural_dia_total
,
urbano_noite_total
,
rural_noite_total
HAVING
matricula
.
ano_censo
>=
201
7
AND
etapa_ensino_escola_ano_id
IS
NOT
NULL
HAVING
matricula
.
ano_censo
>=
201
8
AND
etapa_ensino_escola_ano_id
IS
NOT
NULL
ORDER
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
matricula
.
municipio_id
,
etapa_ensino_escola_ano_id
ORDER
BY
matricula
.
ano_censo
,
matricula
.
estado_id
,
matricula
.
municipio_id
,
etapa_ensino_escola_ano_id
);
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment