Critério PARTITION BY
Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 59 de 72.
Outra opção para a cláusula OVER () é PARTITION BY
Isso nos permite numerar as linhas de cada grupo separadamente
Por exemplo:
| id | type |
| 132 | t1 |
| 52 | t2 |
| 92 | t1 |
| 154 | t3 |
| 198 | t1 |
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1Isso gerará uma coluna que numerará cada tipo dentro de si mesmo:
| id | type | row_num |
| 132 | t1 | 1 |
| 52 | t2 | 1 |
| 92 | t1 | 1 |
| 154 | t3 | 1 |
| 198 | t1 | 3 |
id 92 tem row_num 1 porque é o menor id em type t1.
Observação: ROW_NUMBER() requer uma cláusula ORDER BY dentro de OVER() para determinar como as linhas devem ser numeradas dentro de cada partição.
Podemos até especificar várias colunas dentro de PARTITION BY:
ROW_NUMBER() OVER (PARTITION BY type, hue ORDER BY id)Desafio
FácilTabelas e colunas disponíveis:
doors:id,publication_yeardoors_specs:id,country,color
Uma fábrica está construindo portas. Ela precisa numerar as portas para cada combinação de country e color que tenha um publication_year menor que 2000. Dê a essa coluna o nome row_num.
As portas devem ser numeradas dentro de cada grupo em ordem crescente pelo id. As portas sem especificações devem ser ignoradas. Ordene o resultado final em ordem crescente pelo id.
Experimente você mesmo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Mais palavras-chave
A palavra-chave INA palavra-chave BETWEENA palavra-chave LIKEA palavra-chave ASRecapitulação - Modelos de celulares2Condições
Noções básicas de condiçõesA palavra-chave ANDA palavra-chave ORA palavra-chave NOTCombinação de várias condiçõesParêntesesBooleanos8Estatística
Agregação integrada – Parte 1Agregação integrada – Parte 2Agrupamento – Parte 1Agrupamento – Parte 2Subconsultas – Parte 1Subconsultas – Parte 2Recapitulação – Loja Total GainRecapitulação – Loja de ScootersRecapitulação – Cafeteria11Funções de janela parte 1
Função ROW_NUMBERCritério ORDER BYCritério PARTITION BYPARTITION e ORDERFunções LEAD e LAGRevisão - LEAD e LAGRevisão - ImagensRevisão - Caixas3Formato de retorno específico
Valores nulosOrdenar resultados - Parte 1Ordenar resultados - Parte 2Recapitulação - Empresa de segurança cibernéticaLimitar o número de registrosRecapitulação - Fábrica de veículos6Desafios introdutórios
Revisão - Eleição parlamentarRevisão - Prisão criminal pela políciaRevisão - Recipiente de bebidas de barRevisão - Projetar novas colunasPratique por conta própria: Playground de SQL