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
Compare revisions
9829db1c65b0c79f7cf13ff0939fa00257e02577 to 59a253c3c0aee73ff3ec122d0aa9a3b93a17701f
Compare revisions
Changes are shown as if the
source
revision was being merged into the
target
revision.
Learn more about comparing revisions.
Source
tools/sql-scripts
Select target project
No results found
59a253c3c0aee73ff3ec122d0aa9a3b93a17701f
Select Git revision
Swap
Target
tools/sql-scripts
Select target project
tools/sql-scripts
1 result
9829db1c65b0c79f7cf13ff0939fa00257e02577
Select Git revision
Show changes
Only incoming changes from source
Include changes to target since source was created
Compare
Commits on Source (8)
Add docente_por_formacao
· cfa84414
jvfpw18
authored
5 years ago
cfa84414
Update docente_por_formacao
· af4030de
jvfpw18
authored
5 years ago
af4030de
Change formation_level to int
· 43c60b54
jvfpw18
authored
5 years ago
43c60b54
Add filter adm_dependency to classroomCount
· 9f2e5c5c
jvfpw18
authored
5 years ago
9f2e5c5c
Fix docente_por_formacao total
· 1fafa756
jvfpw18
authored
5 years ago
1fafa756
Add transporte.sql
· 38626839
jvfpw18
authored
5 years ago
38626839
Fix count being lower in classroom_count
· ee491f9c
jvfpw18
authored
5 years ago
ee491f9c
Merge branch 'docente_por_formacao' into 'master'
· 59a253c3
jvfpw18
authored
5 years ago
Docente por formacao, matricula por localizacao e transporte See merge request
!7
59a253c3
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
docente_por_formacao.sql
+85
-0
85 additions, 0 deletions
docente_por_formacao.sql
idm.sql
+22
-16
22 additions, 16 deletions
idm.sql
matricula_por_localizacao.sql
+15
-11
15 additions, 11 deletions
matricula_por_localizacao.sql
transporte.sql
+146
-0
146 additions, 0 deletions
transporte.sql
with
268 additions
and
27 deletions
docente_por_formacao.sql
0 → 100644
View file @
59a253c3
/*
Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
This file is part of HOTMapper.
HOTMapper is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
HOTMapper is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with HOTMapper. If not, see <https://www.gnu.org/licenses/>.
*/
-- depends: docente, turma
-- SimCAQ: tabela de docentes por formação --
CREATE
TABLE
docente_por_formacao
AS
(
WITH
docente_total
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
,
0
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
(
turma
.
tipo_turma_id
<=
3
))
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
2
,
3
,
4
,
5
,
6
,
7
,
8
))
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
),
docente_medio
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
,
2
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
(
turma
.
tipo_turma_id
<=
3
))
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
2
,
3
))
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
),
docente_superior
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
,
4
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
(
turma
.
tipo_turma_id
<=
3
))
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
4
,
5
))
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
),
docente_especializacao_mestrado_doutorado
AS
(
SELECT
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
,
docente
.
nivel_tipo_formacao
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
(
turma
.
tipo_turma_id
<=
3
))
AND
(
docente
.
ano_censo
>=
2017
)
AND
(
docente
.
nivel_tipo_formacao
IN
(
6
,
7
,
8
))
GROUP
BY
docente
.
ano_censo
,
estado
.
nome
,
estado
.
id
,
municipio
.
nome
,
municipio
.
id
,
docente
.
dependencia_adm_id
,
docente
.
id_docente
,
docente
.
nivel_tipo_formacao
ORDER
BY
docente
.
ano_censo
ASC
,
estado
.
nome
ASC
,
estado
.
id
ASC
,
municipio
.
nome
ASC
,
municipio
.
id
ASC
)
SELECT
*
FROM
docente_total
UNION
ALL
(
SELECT
*
FROM
docente_medio
)
UNION
ALL
(
SELECT
*
FROM
docente_superior
)
UNION
ALL
(
SELECT
*
FROM
docente_especializacao_mestrado_doutorado
)
);
This diff is collapsed.
Click to expand it.
idm.sql
View file @
59a253c3
...
@@ -24,73 +24,79 @@ along with HOTMapper. If not, see <https://www.gnu.org/licenses/>.
...
@@ -24,73 +24,79 @@ along with HOTMapper. If not, see <https://www.gnu.org/licenses/>.
CREATE
TABLE
indice_distribuicao_matriculas
AS
(
CREATE
TABLE
indice_distribuicao_matriculas
AS
(
WITH
div_estado
AS
WITH
div_estado
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
FROM
matricula
FROM
matricula
WHERE
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_id
<=
3
WHERE
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_id
<=
3
GROUP
BY
serie_ano_id
,
estado_id
,
ano_censo
,
localizacao_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
ano_censo
,
localizacao_id
,
dependencia_adm_id
FROM
matricula
FROM
matricula
WHERE
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_id
<=
3
WHERE
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_id
<=
3
GROUP
BY
serie_mod
,
estado_id
,
ano_censo
,
localizacao_id
),
GROUP
BY
serie_mod
,
estado_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
),
div_brasil
AS
div_brasil
AS
(
SELECT
sum
(
total_estado
)
AS
total_brasil
,
serie_ano_id
,
ano_censo
,
localizacao_id
(
SELECT
sum
(
total_estado
)
AS
total_brasil
,
serie_ano_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
FROM
div_estado
FROM
div_estado
GROUP
BY
serie_ano_id
,
ano_censo
,
localizacao_id
),
GROUP
BY
serie_ano_id
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
),
div_brasil_mod
AS
div_brasil_mod
AS
(
SELECT
sum
(
total_brasil
)
AS
total_brasil_mod
,
cast
(
LEFT
(
serie_ano_id
,
1
)
as
integer
)
as
serie_mod
,
ano_censo
,
localizacao_id
(
SELECT
sum
(
total_brasil
)
AS
total_brasil_mod
,
cast
(
LEFT
(
serie_ano_id
,
1
)
as
integer
)
as
serie_mod
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
FROM
div_brasil
FROM
div_brasil
GROUP
BY
serie_mod
,
ano_censo
,
localizacao_id
),
GROUP
BY
serie_mod
,
ano_censo
,
localizacao_id
,
dependencia_adm_id
),
nivel_sim1
AS
nivel_sim1
AS
(
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
matricula
.
serie_ano_id
,
total_brasil
AS
total_etapa
,
(
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
matricula
.
serie_ano_id
,
total_brasil
AS
total_etapa
,
cast
(
count
(
matricula
.
serie_ano_id
)
AS
double
)
/
total_etapa
AS
indice
,
1
AS
nivel_simulacao
,
cast
(
count
(
matricula
.
serie_ano_id
)
AS
double
)
/
total_etapa
AS
indice
,
1
AS
nivel_simulacao
,
matricula
.
localizacao_id
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
FROM
matricula
JOIN
div_brasil
ON
matricula
.
serie_ano_id
=
div_brasil
.
serie_ano_id
FROM
matricula
JOIN
div_brasil
ON
matricula
.
serie_ano_id
=
div_brasil
.
serie_ano_id
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
WHERE
matricula
.
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
3
WHERE
matricula
.
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
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
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
nivel_sim2
AS
nivel_sim2
AS
(
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
matricula
.
serie_ano_id
,
total_estado
AS
total_etapa
,
(
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
matricula
.
serie_ano_id
,
total_estado
AS
total_etapa
,
cast
(
count
(
matricula
.
serie_ano_id
)
AS
double
)
/
total_etapa
AS
indice
,
2
AS
nivel_simulacao
,
cast
(
count
(
matricula
.
serie_ano_id
)
AS
double
)
/
total_etapa
AS
indice
,
2
AS
nivel_simulacao
,
matricula
.
localizacao_id
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
FROM
matricula
JOIN
div_estado
ON
matricula
.
serie_ano_id
=
div_estado
.
serie_ano_id
FROM
matricula
JOIN
div_estado
ON
matricula
.
serie_ano_id
=
div_estado
.
serie_ano_id
AND
matricula
.
estado_id
=
div_estado
.
estado_id
AND
matricula
.
estado_id
=
div_estado
.
estado_id
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
WHERE
matricula
.
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
3
WHERE
matricula
.
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
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
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
nivel_sim1_mod
AS
nivel_sim1_mod
AS
(
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
serie_mod
as
serie_ano_id
,
(
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
serie_mod
as
serie_ano_id
,
total_brasil_mod
AS
total_etapa
,
cast
(
count
(
matricula
.
serie_ano_id
)
AS
double
)
/
total_etapa
AS
indice
,
total_brasil_mod
AS
total_etapa
,
cast
(
count
(
matricula
.
serie_ano_id
)
AS
double
)
/
total_etapa
AS
indice
,
1
AS
nivel_simulacao
,
matricula
.
localizacao_id
1
AS
nivel_simulacao
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
FROM
matricula
JOIN
div_brasil_mod
ON
LEFT
(
matricula
.
serie_ano_id
,
1
)
=
div_brasil_mod
.
serie_mod
FROM
matricula
JOIN
div_brasil_mod
ON
LEFT
(
matricula
.
serie_ano_id
,
1
)
=
div_brasil_mod
.
serie_mod
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
WHERE
matricula
.
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
3
WHERE
matricula
.
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
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
.
localizacao_id
,
matricula
.
dependencia_adm_id
),
nivel_sim2_mod
AS
nivel_sim2_mod
AS
(
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
serie_mod
as
serie_ano_id
,
(
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
municipio_id
,
serie_mod
as
serie_ano_id
,
total_estado_mod
AS
total_etapa
,
cast
(
count
(
matricula
.
serie_ano_id
)
AS
double
)
/
total_etapa
AS
indice
,
total_estado_mod
AS
total_etapa
,
cast
(
count
(
matricula
.
serie_ano_id
)
AS
double
)
/
total_etapa
AS
indice
,
2
AS
nivel_simulacao
,
matricula
.
localizacao_id
2
AS
nivel_simulacao
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
FROM
matricula
JOIN
div_estado_mod
ON
LEFT
(
matricula
.
serie_ano_id
,
1
)
=
div_estado_mod
.
serie_mod
FROM
matricula
JOIN
div_estado_mod
ON
LEFT
(
matricula
.
serie_ano_id
,
1
)
=
div_estado_mod
.
serie_mod
AND
matricula
.
estado_id
=
div_estado_mod
.
estado_id
AND
matricula
.
estado_id
=
div_estado_mod
.
estado_id
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
WHERE
matricula
.
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
3
WHERE
matricula
.
ano_censo
>=
2017
AND
tipo
<=
3
AND
dependencia_adm_priv
<=
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
.
localizacao_id
,
matricula
.
dependencia_adm_id
)
SELECT
*
FROM
nivel_sim1
SELECT
*
FROM
nivel_sim1
UNION
ALL
UNION
ALL
...
...
This diff is collapsed.
Click to expand it.
matricula_por_localizacao.sql
View file @
59a253c3
...
@@ -25,44 +25,48 @@ CREATE TABLE matricula_por_localizacao AS (
...
@@ -25,44 +25,48 @@ CREATE TABLE matricula_por_localizacao AS (
WITH
WITH
day_count
AS
day_count
AS
(
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
FROM
matricula
FROM
matricula
WHERE
tipo
<=
3
AND
dependencia_adm_id
<
4
AND
ano_censo
>=
2017
AND
WHERE
tipo
<=
3
AND
dependencia_adm_id
<
4
AND
ano_censo
>=
2017
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
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
ORDER
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
),
),
night_count
AS
night_count
AS
(
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
FROM
matricula
FROM
matricula
WHERE
tipo
<=
3
AND
dependencia_adm_id
<
4
AND
ano_censo
>=
2017
AND
turma_turno_id
=
3
WHERE
tipo
<=
3
AND
dependencia_adm_id
<
4
AND
ano_censo
>=
2017
AND
turma_turno_id
=
3
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_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
ORDER
BY
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
localizacao_id
,
dependencia_adm_id
)
)
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
matricula
.
municipio_id
,
SELECT
matricula
.
ano_censo
,
matricula
.
estado_id
,
matricula
.
municipio_id
,
matricula
.
serie_ano_id
,
COALESCE
(
dia_total
,
0
)
AS
dia_total
,
matricula
.
serie_ano_id
,
COALESCE
(
dia_total
,
0
)
AS
dia_total
,
COALESCE
(
noite_total
,
0
)
AS
noite_total
,
matricula
.
localizacao_id
COALESCE
(
noite_total
,
0
)
AS
noite_total
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
FROM
matricula
FROM
matricula
LEFT
JOIN
day_count
ON
matricula
.
ano_censo
=
day_count
.
ano_censo
AND
matricula
.
estado_id
=
day_count
.
estado_id
LEFT
JOIN
day_count
ON
matricula
.
ano_censo
=
day_count
.
ano_censo
AND
matricula
.
estado_id
=
day_count
.
estado_id
AND
matricula
.
municipio_id
=
day_count
.
municipio_id
AND
matricula
.
serie_ano_id
=
day_count
.
serie_ano_id
AND
matricula
.
municipio_id
=
day_count
.
municipio_id
AND
matricula
.
serie_ano_id
=
day_count
.
serie_ano_id
AND
matricula
.
localizacao_id
=
day_count
.
localizacao_id
AND
matricula
.
localizacao_id
=
day_count
.
localizacao_id
AND
matricula
.
dependencia_adm_id
=
day_count
.
dependencia_adm_id
LEFT
JOIN
night_count
ON
matricula
.
ano_censo
=
night_count
.
ano_censo
AND
matricula
.
estado_id
=
night_count
.
estado_id
LEFT
JOIN
night_count
ON
matricula
.
ano_censo
=
night_count
.
ano_censo
AND
matricula
.
estado_id
=
night_count
.
estado_id
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
WHERE
matricula
.
ano_censo
>=
2017
AND
matricula
.
serie_ano_id
IS
NOT
NULL
WHERE
matricula
.
ano_censo
>=
2017
AND
matricula
.
serie_ano_id
IS
NOT
NULL
AND
matricula
.
tipo
<=
3
AND
matricula
.
dependencia_adm_id
<
4
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
noite_total
,
matricula
.
localizacao_id
,
matricula
.
dependencia_adm_id
);
);
-- Create serie mod
-- Create serie mod
INSERT
INTO
INSERT
INTO
matricula_por_localizacao
(
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
dia_total
,
noite_total
,
matricula_por_localizacao
(
ano_censo
,
estado_id
,
municipio_id
,
serie_ano_id
,
dia_total
,
noite_total
,
localizacao_id
)
localizacao_id
,
dependencia_adm_id
)
SELECT
SELECT
ano_censo
,
estado_id
,
municipio_id
,
LEFT
(
serie_ano_id
,
1
)
as
serie
,
sum
(
dia_total
),
sum
(
noite_total
),
ano_censo
,
estado_id
,
municipio_id
,
LEFT
(
serie_ano_id
,
1
)
as
serie
,
sum
(
dia_total
),
sum
(
noite_total
),
localizacao_id
localizacao_id
,
dependencia_adm_id
FROM
matricula_por_localizacao
FROM
matricula_por_localizacao
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie
,
localizacao_id
;
GROUP
BY
ano_censo
,
estado_id
,
municipio_id
,
serie
,
localizacao_id
,
dependencia_adm_id
;
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
Click to expand it.
transporte.sql
0 → 100644
View file @
59a253c3
CREATE
TABLE
transporte
AS
(
WITH
matricula_mod
AS
(
SELECT
count
(
*
)
as
total
,
matricula
.
regiao_id
AS
regiao_id
,
estado_id
,
estado
.
nome
AS
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
transporte_vans_kombi
,
transporte_micro_onibus
,
transporte_onibus
,
transporte_bicicleta
,
transporte_animal
,
transporte_outro
,
transporte_embar_0_5
,
transporte_embar_5_15
,
transporte_embar_15_35
,
transporte_embar_35
,
transporte_trem_metro
,
transporte_escolar_publico
FROM
matricula
JOIN
estado
ON
matricula
.
estado_id
=
estado
.
id
WHERE
tipo
<=
3
GROUP
BY
matricula
.
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
transporte_vans_kombi
,
transporte_micro_onibus
,
transporte_onibus
,
transporte_bicicleta
,
transporte_animal
,
transporte_outro
,
transporte_embar_0_5
,
transporte_embar_5_15
,
transporte_embar_15_35
,
transporte_embar_35
,
transporte_trem_metro
,
transporte_escolar_publico
),
matricula_mod_total
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
0
as
transporte_id
FROM
matricula_mod
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
transporte_publico_total
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
1
as
transporte_id
FROM
matricula_mod
WHERE
transporte_escolar_publico
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
vans_kombi
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
2
as
transporte_id
FROM
matricula_mod
WHERE
transporte_vans_kombi
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
micro_bus
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
3
as
transporte_id
FROM
matricula_mod
WHERE
transporte_micro_onibus
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
bus
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
4
as
transporte_id
FROM
matricula_mod
WHERE
transporte_onibus
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
bike
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
5
as
transporte_id
FROM
matricula_mod
WHERE
transporte_bicicleta
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
animal_traction
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
6
as
transporte_id
FROM
matricula_mod
WHERE
transporte_animal
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
other_vehicle
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
7
as
transporte_id
FROM
matricula_mod
WHERE
transporte_outro
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
waterway_5
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
8
as
transporte_id
FROM
matricula_mod
WHERE
transporte_embar_0_5
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
waterway_15
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
9
as
transporte_id
FROM
matricula_mod
WHERE
transporte_embar_5_15
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
waterway_35
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
10
as
transporte_id
FROM
matricula_mod
WHERE
transporte_embar_15_35
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
waterway_35_upper
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
11
as
transporte_id
FROM
matricula_mod
WHERE
transporte_embar_35
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
),
subway_train
AS
(
SELECT
SUM
(
total
)
as
total
,
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
,
12
as
transporte_id
FROM
matricula_mod
WHERE
transporte_trem_metro
=
1
GROUP
BY
regiao_id
,
estado_id
,
estado_nome
,
municipio_id
,
escola_id
,
etapas_mod_ensino_segmento_id
,
localizacao_id
,
localidade_area_rural
,
dependencia_adm_id
,
dependencia_adm_priv
,
responsavel_transp
,
ano_censo
)
SELECT
*
FROM
matricula_mod_total
UNION
ALL
SELECT
*
FROM
transporte_publico_total
UNION
ALL
SELECT
*
FROM
vans_kombi
UNION
ALL
SELECT
*
FROM
micro_bus
UNION
ALL
SELECT
*
FROM
bus
UNION
ALL
SELECT
*
FROM
bike
UNION
ALL
SELECT
*
FROM
animal_traction
UNION
ALL
SELECT
*
FROM
other_vehicle
UNION
ALL
SELECT
*
FROM
waterway_5
UNION
ALL
SELECT
*
FROM
waterway_15
UNION
ALL
SELECT
*
FROM
waterway_35
UNION
ALL
SELECT
*
FROM
waterway_35_upper
UNION
ALL
SELECT
*
FROM
subway_train
);
\ No newline at end of file
This diff is collapsed.
Click to expand it.