Как использовать обновление с помощью group by

#sql #sql-update #h2

#sql #sql-обновление #h2

Вопрос:

Я хочу изменить сумму (значение), где name =’Albanit’, но когда я использую group by name, отображается ошибка.

 update bill 
   set value=(( select sum(value) from bill where name='Albanit' group by name) -10)  
where name='Albanit' 
group by name;
  

Я использую базу данных H2.

Ответ №1:

Вы уверены, что вам нужно group by ? Делает ли это то, что вы хотите?

 update bill 
   set value = value - 10
where name = 'Albanit' ;
  

Ответ №2:

удалить группу по

 update bill set value=((select sum(value) from bill 
                        where name='Albanit') -10 )
                        where name='Albanit' 
  

Ответ №3:

Вам не нужен столбец group by name, поскольку вы указали конкретное имя в предложении where

 update bill set value=(( select sum(value) from bill where name='Albanit') -10) 
where name='Albanit'