Разделить весь столбец на номер столбца - PullRequest
0 голосов
/ 03 декабря 2018

Я попытался разделить весь столбец (данные) на номер столбца (5) и вставить его в другой столбец (среднее значение данных):

данные: 20 12 32 12 32

data_average: 20/5 12/5 32/5 12/5 32/5

Я могу использовать запрос:

update data set data_average = data / 5;

Это работает, но я знаю, что когда я добавляю больше данных в данныестолбец, он больше не будет / 5.

Поэтому я пытаюсь сделать это динамически, используя запрос:

select count(*) as count from table

, но я не могу сделать это в первом запросе, как

update data set data_average = data / count;

Как я могу разделить егопо счету?

1 Ответ

0 голосов
/ 04 декабря 2018

MySQL имеет функцию AVG (), чтобы сделать эту работу за вас.Таким образом, ваш запрос может выполнить всю работу, например:

SELECT AVG( column_name ) AS average FROM table_name;

Для справки: https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_avg

Если вы предпочитаете делать это с CodeIgniter / PHP, то это возможно:

<?php

$query = $this->db->query('SELECT * FROM tablename');

$results = $query->result();

$rowCount = count( $results );

$total = 0;

foreach( $results as $row )
    $total += $row->column_name;

$average = $total / $rowCount;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...