powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Умный SQL
8 сообщений из 8, страница 1 из 1
Умный SQL
    #38441854
lermantov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гуру, подскажите, пожалуйста,

Есть 3 столбца (id1,id2,id3), нужно вывести среднее числовое значение из id1 и id2 в id3, если id3 не пустое и есть значения в id1 и id2 (тк может быть пустым id1 и(или) id2)
...
Рейтинг: 0 / 0
Умный SQL
    #38441883
lermantov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*если id3 пустое

числовые значения = положительные целые и дробные числа
...
Рейтинг: 0 / 0
Умный SQL
    #38441890
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос малопонятен... попробуйте показать пример и исходных данных и результата, что ли...
...
Рейтинг: 0 / 0
Умный SQL
    #38441894
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
--Есть 3 столбца (id1,id2,id3), нужно вывести среднее числовое значение из id1 и id2 в id3, если id3 не пустое и есть значения в id1 и id2 (тк может быть пустым id1 и(или) id2) 

select
 (coalesce(id1,0)+coalesce(id2,0)+coalesce(id3,0) ) / ( case when id1 is not null then 1 else 0 end + case when id2 is not null then 1 else 0 end + case when id3 is not null then 1 else 0 end )
from theTable
...
Рейтинг: 0 / 0
Умный SQL
    #38441934
lermantov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеем
id1 id2 id3
5,1 6 0
4 5 8
1 0 0
0 2 0

нужно получить
id1 id2 id3
5,1 6 5,5
4 5 8
1 0 0
0 2 0

То есть нужно посчитать среднее значение id1 и id2 и вывести в id3 округлив (по правилам) до десятых. Нужно считать только если id3 = 0 и если id1 или id2 равно 0, то считать id3 не нужно
...
Рейтинг: 0 / 0
Умный SQL
    #38441944
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
update table 
set id3=round((id1+id2)/2, 1)
where id1!=0 and id2!=0 and id3=0
...
Рейтинг: 0 / 0
Умный SQL
    #38441965
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lermantovнужно посчитать среднее значение id1 и id2 и вывести в id3 округлив (по правилам) до десятых. Нужно считать только если id3 = 0 и если id1 или id2 равно 0, то считать id3 не нужно
Код: sql
1.
2.
3.
4.
5.
select *,
  if(v3!=0,v3,
    if(v1=0 or v2=0, 0, -- v1+v2,
      round((v1+v2)/2.0,1)))
from test;
...
Рейтинг: 0 / 0
Умный SQL
    #38441988
lermantov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, господа, вы - супер!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Умный SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]