MYSQL как посчитать среднее значение из строки?

Playray
На сайте с 06.09.2008
Offline
133
4066

Есть столбец row в таблице table с цифрами через запятую

table

id row

1 100,200,300

2 50,70,30,60,40

Нужно составить запрос который бы выдавал среднее арифметическое из этих цифр

что бы создать вторую таблицу table2 со значениями id middle

table2

id middle

1 200

2 50

Нужно именно решение в mysql без привлечения внешних скриптов

Заранее спасибо!

vandamme
На сайте с 30.11.2008
Offline
675
#1

покажите ваши наброски для начала.

или решить полностью за вас?

вам помощь нужна или решение примера?

Alex Klo
На сайте с 15.06.2006
Offline
304
#2
Playray:
Есть столбец row в таблице table с цифрами через запятую

table

id row
1 100,200,300
2 50,70,30,60,40

это извращение какое-то... нет, чтобы завести отдельную таблицу для этого...

тем более, что, вдруг неожиданно:

Playray:
Нужно составить запрос который бы выдавал среднее арифметическое из этих цифр

а если потом ещё и "интеграл" посчитать, то что? ;)

Проверка и мониторинг позиций сайта ( http://www.topvisor.ru/?inv=1520 ) Продвигаю сайты http://climat-nw.ru/conditioner-installation/ http://www.aircom-spb.ru/service/montaj/
Playray
На сайте с 06.09.2008
Offline
133
#3
vandamme:
покажите ваши наброски для начала.
или решить полностью за вас?

вам помощь нужна или решение примера?

Собственно меня интересует, вдруг кто то знает как это можно просто сделать или уже решал подобную задачу или встречал решение поделиться информацией =)

Опыта в этом у меня не много, есть функции для вычисления среднего из нескольких столбцов, отдельные цифры можно вырезать регулярным выражением, а вот как это собрать в кучу, пока не пойму...

Так то конечно на крайний вариант пройтись скриптом php можно, но это совсем не удобно в моем случае...

---------- Добавлено 02.10.2017 в 15:05 ----------

это извращение какое-то... нет, чтобы завести отдельную таблицу для этого...

Дело в том что записей много, и цифр для каждой записи может быть тоже много, разве рационально делать отдельную табличку и отдельно выделять ячейку под каждую запись, и потом работать с каждой записью, если вполне можно обойтись строчкой...

а если потом ещё и "интеграл" посчитать, то что?

Вот! Именно это меня и интересует, есть ли какой то способ взять цифры из строки и произвести с ними нужные операции в самом MYSQL без привлечения внешних скриптов!)

Опыта с mysql мало, вполне могу быть где то не прав и даже сильно не прав =)

nikonlay
На сайте с 11.12.2006
Offline
183
#4

Если среднее арифметическое, то AVG:

SELECT AVG(row) FROM table

Только нужно, чтобы не через запятую цифры были, а по одному в строке

Мощные бинокли и монокуляры: https://market.yandex.ru/store--volny-i-veter?businessId=79203856
Alex Klo
На сайте с 15.06.2006
Offline
304
#5
Playray:
Вот! Именно это меня и интересует, есть ли какой то способ взять цифры из строки и произвести с ними нужные операции в самом MYSQL без привлечения внешних скриптов!

именно для этого и нужно, чтобы цифры были не "в строчке", а в столбцах в отдельной таблице.

иначе это как гланды через анус вырезать...

Playray:
разве рационально делать отдельную табличку и отдельно выделять ячейку под каждую запись, и потом работать с каждой записью

именно рационально с точки зрения вычислений!

а память и время не намного больше используются, если не меньше...

почитайте что-нибудь про "нормализация таблиц базы данных"

vandamme
На сайте с 30.11.2008
Offline
675
#6
nikonlay:
Только нужно, чтобы не через запятую цифры были, а по одному в строке
Alex Klo:
именно для этого и нужно, чтобы цифры были не "в строчке", а в столбцах в отдельной таблице.

для современного mysql - это не проблема.

только сложность решения многократно возрастает - https://stackoverflow.com/questions/17942508/sql-split-values-to-multiple-rows

TF-Studio
На сайте с 17.08.2010
Offline
334
#7

это не рациональное решение

БД должна хранить. скрипты/программы обрабатывать

архитектура должна быть внятной.

можно на БД повесить, но тогда надо структуру поменять, сейчас она ошибочна

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
PA
На сайте с 12.02.2016
Offline
24
#8
vandamme:
для современного mysql - это не проблема.

кстати, а ведь можно на одном только mysql сделать цмску, без пхп и прочего.

nginx+mysql (триггеры, функции и т.д.), вот это будет хардкор. 😂 🍿

ну это так... под пиво покодить "на слабо", т.к. реально это никому не нужно.

. . .
vandamme
На сайте с 30.11.2008
Offline
675
#9
ps axf:
кстати, а ведь можно на одном только mysql сделать цмску, без пхп и прочего.

Другой вопрос, надо ли это человеку..

Если ему надо одноразовое решение типа скопировать-вставить, то зачем ему думать о структуре , что-то еще больше усложнять.

S
На сайте с 30.09.2016
Offline
469
#10
Playray:
Так то конечно на крайний вариант пройтись скриптом php можно, но это совсем не удобно в моем случае

Что за случай такой? Пхп нету?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий