MySQL Valor mediano

MySQL Valor mediano
O valor médio do conjunto de dados é chamado de valor mediano de acordo com as estatísticas. O valor médio será o número intermediário de uma lista contendo itens de números ímpares. O valor médio será calculado encontrando a média dos dois números intermediários da lista se o total de itens da lista forem uniformes. É necessário classificar a lista em ordem crescente para descobrir o valor mediano. Não há função interna no MySQL para descobrir o valor médio. O valor mediano é calculado em MySQL ao escrever a consulta. A maneira de descobrir o valor médio no MySQL foi mostrado neste tutorial usando a tabela.

Pré -requisitos:

Você precisa criar uma tabela com dados em um banco de dados MySQL para encontrar o valor mediano dos dados da tabela. Abra o terminal e conecte -se ao servidor MySQL, executando o seguinte comando:

$ sudo mysql -u root

Execute o seguinte comando para criar um banco de dados nomeado test_db:

Criar banco de dados test_db;

Execute o seguinte comando para selecionar o banco de dados:

Use test_db;

Execute a seguinte consulta para criar uma tabela chamada Marcas com cinco campos:

Crie marcas de tabela (
ID int Auto_increment Chave primária,
curso_code varchar (10) não nulo,
Course_Name Varchar (30),
std_id Varchar (20),
obten_marks int);

Execute a seguinte consulta de inserção para inserir cinco valores no Marcas mesa:

Inserir em 'Marks' ('id', 'curso_code', 'curso_name', 'std_id', 'obten_marks') valores
(Null, 'c-4533', 'programação java', '2312', '90'),
(Null, 'C-7845', 'Programação PHP', '9564', '78'),
(Null, 'c-3009', 'web design', '9076', '65'),
(Null, 'C-4511', 'Programação Python', '8923', '75'),
(NULL, 'C-7645', 'Programação Bash', '1289', '81');

Execute a consulta selecionada para ler os valores do Marcas mesa:

Selecione * nas marcas;

O obtido_marks campo do Marcas A tabela contém os valores numéricos, e o valor médio desta coluna foi pesquisado na próxima parte deste tutorial:

Para descobrir o valor médio no MySQL, um número de índice exigirá a conexão a cada linha da tabela. O comando SET a seguir inicializará a variável @Row_Index com o valor -1 porque o índice do registro será contado a partir de 0:

Set @row_index: = -1;

Os registros da tabela precisarão classificar com base nos valores do campo obtido_marks para descobrir o valor mediano desta coluna. Portanto, execute a consulta a seguir para classificar a tabela com base no campo obtido_marks e anexe o valor do índice a cada linha:

Selecione @row_index: = @row_index + 1 como row_index, obtido_marks
De Marks
Ordem por obtido_marks;

Saída:

A saída a seguir aparecerá após a execução dos comandos anteriores. Após a classificação, o primeiro índice conterá o menor valor da coluna obtida_marks, e o último índice terá o maior valor da coluna obtida_marks:

O número total de registros na tabela Marks é 5, o que é estranho. Portanto, o valor médio da coluna obtida_marks descobrirá pela seguinte consulta selecionada. O último valor do índice da linha é 4, de acordo com a saída da consulta anterior. Os valores de piso e teto dos 4/2 são 2. O valor correspondente obtido_marks do índice da linha 2 é 78.

Selecione *
DE (
Selecione @row_index: = @row_index + 1 como row_index, obtido_marks
Da ordem das marcas por obtida_marks) como subconsulta
Onde subcons.row_index em (piso (@row_index / 2), teto (@row_index / 2));

Saída:

A saída a seguir aparecerá após a execução da consulta anterior:

A próxima parte deste tutorial mostra a descoberta do valor médio para um número par de registros. Execute a seguinte consulta de inserção para adicionar outro registro ao Marcas Tabela para tornar o número total de registros da tabela para 6 que é uniforme:

Inserir em 'marcas' ('id', 'curso_code', 'curso_name', 'std_id', 'obten_marks') valores (null, 'c-1122', 'c ++ programação', '6745', '66');

Execute a seguinte consulta selecionada para ler os valores atuais do Marcas mesa:

Selecione * nas marcas;

Saída:

A saída a seguir aparecerá após a execução da inserção acima e selecione consulta:

Se a consulta a seguir for executada novamente para a tabela de número par de linhas, dois valores medianos serão gerados que não estão corretos:

Selecione *
DE (
Selecione @row_index: = @row_index + 1 como row_index, obtido_marks
Da ordem das marcas por obtida_marks) como subconsulta
Onde subcons.row_index em (piso (@row_index / 2), teto (@row_index / 2));

Saída:

A saída a seguir aparecerá após a execução da consulta anterior. O resultado mostra dois valores medianos aqui. A média desses valores será o valor mediano correto.

Execute a seguinte consulta selecionada para descobrir os valores medianos corretos da coluna obtida_marks da tabela Marks usando a função agregada AVG () na consulta. Aqui, duas consultas selecionadas são usadas. A consulta seleta interna é usada para descobrir o valor mediano que pode ser um ou dois valores com base no número total de linhas da tabela. A consulta externa seleciona descobrirá o valor médio ou valores do obtido_marks coluna retornada pela consulta interna de seleção. Com base no conteúdo do Marcas Tabela, a consulta gerará a média de obtido_marks valores das 3 e 4 linhas do Marcas mesa.

Selecione AVG (subconsulta.obtido_marks) como mediano_value
DE (
Selecione @row_index: = @row_index + 1 como row_index, obtido_marks
De Marks
Ordem por obtido_marks
) Como subconsiva
Onde subcons.row_index
Em (piso (@row_index / 2), teto (@row_index / 2));

Saída:

A saída a seguir aparecerá após a execução da consulta anterior. A média de 75 e 78 é (75+78)/2 ou 76.50:

Conclusão:

A maneira de calcular o valor mediano da coluna específica da tabela que pode conter números pares ou ímpares de linhas foi mostrada neste tutorial usando a consulta selecionada. Este tutorial ajudará o usuário a entender o valor mediano do MySQL corretamente. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e tutoriais.