Sintaxe:
>> selecione col_name, row_number () sobre (partição por col_name, order by col_name) como row_num de table_name;Vamos abrir o shell cliente da linha de comando MySQL dos aplicativos e digite a senha para fazer login.
Você precisa criar uma nova tabela ou usar a tabela padrão para começar a trabalhar na função de número da linha. Conforme apresentado na imagem abaixo, temos uma tabela "animais" no esquema "dados" com alguns registros. Vamos buscar seus registros usando a instrução SELECT.
>> Selecione * FROM dados.animais;Exemplo 01: row_number () usando a cláusula Ordem by
Usaremos a mesma tabela para elaborar alguns exemplos da função do número da linha. Estamos dando um exemplo da função row_number () seguida por sobre over (), enquanto usamos apenas a cláusula de ordem por. Estamos buscando todos os registros enquanto numeramos as linhas de acordo com o pedido da coluna “Price”. Demos o nome "row_num" a uma coluna, que armazenará os números da linha. Vamos tentar o comando abaixo para fazer isso.
>> Selecione *, row_number () sobre (ordem por preço) como row_num de dados.animais;Ao executar a consulta acima, podemos ver que as linhas foram atribuídas com números de acordo com a ordem de classificação da coluna "Price". Você pode pensar que alguns preços menores devem estar no topo da coluna e deve classificar de acordo com isso. Mas a cláusula da Ordem por Só vê o primeiro dígito ou alfabeto da coluna para classificar os valores.
Vamos executar a mesma consulta seguida pela cláusula da Ordem por enquanto estiver usando a ordem de classificação da coluna "Age". A saída será dada de acordo com a coluna "Age".
>> Selecione *, row_number () sobre (ordem por idade) como row_num a partir de dados.animais;Exemplo 02: row_number () usando a partição por cláusula
Usaremos a única cláusula de partição na consulta row_number () para verificar os resultados. Usamos a consulta selecionada para buscar os registros seguidos por Row_Number () e cláusula sobre o Over, enquanto particionamos a tabela de acordo com a coluna "Color". Execute o comando Anexado abaixo no shell de comando.
>> Selecione *, row_number () sobre (partição por cor) como row_num de dados.animais;Você pode ver no resultado que a numeração de linhas foi atribuída em partições, de acordo com a ordem de classificação das cores. Como temos 4 valores para a cor "preto" que leva 4 linhas. É por isso que tem números de quatro fileiras a partir de 1 a 4 e vice-versa.
Experimente o mesmo exemplo, particionado pela coluna "Gênero" desta vez. Como sabemos, temos apenas dois sexos nesta tabela, é por isso que 2 partições serão formadas. As fêmeas ocupam 9 linhas, é por isso que tem numeração de linha de 1 a 9. Embora os homens tenham 8 valores, é por isso que tem 1 a 8.
>> Selecione *, row_number () sobre (partição por gênero) como row_num de dados.animais;Exemplo 03: row_number () usando a partição por & order by
Fizemos os dois exemplos acima na linha de comando MySQL, agora é hora de fazer o exemplo row_number () no MySQL Workbench 8.0. Então, abra o MySQL Workbench 8.0 dos aplicativos. Conecte a bancada de trabalho do MySQL com o banco de dados raiz do host local para começar a trabalhar.
No lado esquerdo da bancada de trabalho MySQL, você encontrará a barra de esquema, sopra o navegador. Neste bar de esquema, você encontrará a lista de bancos de dados. Na lista de bancos de dados, você terá tabelas diferentes e procedimentos armazenados, como pode ver na imagem abaixo. Temos tabelas diferentes em nosso banco de dados 'dados'. Abriremos a tabela 'Order1' usando o comando select na área de consulta para começar a usá -la para row_number () implementação da função.
>> Selecione * FROM dados.ordem1;A tabela "Order1" foi exibida na visualização da grade, como mostrado abaixo. Você pode ver que possui 4 campos de coluna, ID, região, status e ordem. Estaremos buscando todos os registros desta tabela enquanto usamos a Ordem e a cláusula de partição por partição, ambos ao mesmo tempo.
Na área de consulta do MySQL Workbench 8.0, digite a consulta abaixo do displayed. A consulta foi iniciada com a cláusula selecionada, buscando todos os registros seguidos pela função Row_Number () junto com a cláusula Over Over. Após a cláusula Over, especificamos a coluna "Status" prosseguida pela declaração "Partição por" para dividir a tabela em partições de acordo com esta tabela. A cláusula de ordem por. Os números da linha serão mantidos na coluna "Row_num". Toque no ícone flash para executar este comando.
O resultado abaixo do discurso será mostrado. Primeiro de tudo, a tabela foi segregada em duas partes de acordo com os valores da coluna "Status". Depois disso, foi apresentado na ordem decrescente da 'região' e as partições foram atribuídas com os números da linha.
Conclusão:
Por fim, concluímos todos os exemplos necessários para usar a função Row_Number () no MySQL Workbench e MySQL Command-Line Client Shell.