Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3

Уменьшить значение нескольких строк на N

11.07.2015, 21:17. Показов 1602. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток уважаемые!

Подскажите пожалуйста, как решить следующую задачу:

Есть таблица, с двумя полями: id и n, где n - число (тип INT, беззнаковое)

в таблице 2 записи: id = 1, n = 5 и id = 2, n = 10:
|---|---|
| id | n |
|--|---|
| 1 | 5 |
|---|---|
| 2 | 10 |
|--|---|

Нужно уменьшить значение суммы строк колонки n на 12, одним запросом, с учётом сортировки по ID в обратном порядке. Т.е. в результате, запись 2 должна равняться нулю, а запись 1 равняться 3.

Либо, сделать это в несколько запросов, но в этом случае, нельзя явно указывать новые значения ячеек, то есть, два запроса типа:
SQL
1
2
UPDATE t1 SET n = 0 WHERE id = 2;
UPDATE t1 SET n = 2 WHERE id = 1;
Не допускается. У нас есть лишь конкретное число, которое нужно отнять от суммы столбцов и результат этого вычитания должен отразится в этих столбцах (в общей сумме столбцов), в соответствии с порядком. Значение столбца N не может быть отрицательным, т.к. он имеет флаг "беззнаковый".

Расчёты должны проводиться внутри самой БД.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.07.2015, 21:17
Ответы с готовыми решениями:

Уменьшить втрое значение последних элементов первой и последней строк двумерного массива
Нужно написать программу на ассемблере по условию: Ввести двумерный массив, состоящий из 20 натуральных чисел, расположенных в четырех...

Как вывести значения из нескольких Combobox без разрывов и растянуть значение TextBox на несколько строк?
Здравствуйте! Помогите пожалуйста вывести значения Combobox в один столбик,без разрывов, с учетом того, что в некоторых Comboboх...

Изменение запроса в зависимости от выбранных строк в нескольких DbGrid (в SQL получить значения из нескольких DataSet)
Здравствуйте. Есть таблицы и компоненты: Tbl_authors – Таблица авторов. С ней связаны компоненты: - ADOTable_authors, -...

1
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
11.07.2015, 22:48
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Create table test(
  id int auto_increment primary key, 
  Dbl int, 
  Val int);
Insert test(val)values(3), (5), (1), (4), (2), (1), (3);
Update test set dbl=val;
 
Update (
 Select a.id, a.val, @s,
  if(a.val<=@s,0, a.val-@s)v,
  @s:=if(a.val<=@s,@s-a.val,0)s
 From test a,(select @s:=7)b -- <-- обнулятор=7
 Order by a.id desc  
  )c
join test t on t.id=c.id
Set t.val=c.v
Where t.val<>c.v;
 
Select * From test;
idDblVal
133
255
311
443
520
610
730
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.07.2015, 22:48
Помогаю со студенческими работами здесь

Добавление нескольких строк из нескольких input text ов в БД
Здравствуйте! Проблема в том, что у меня не добавляются строки в БД, они добавляются пустыми постоянно я пробовал менять по-разному, но...

Как уменьшить количество строк?
У меня есть следующая менюшка: private void Size_Click(object sender, EventArgs e) { string s = sender.ToString(); ...

Сравнение строк в нескольких файлах excel, копирование несовпадающих строк и их вывод в сводный файл
Добрый день, только только начал разбираться с VBA в excel, поэтому прошу помощи (схожие темы находил, но не смог преобразовать их...

Ввод нескольких строк или массив строк
У меня есть массив строк. Нужно ввести несколько строк, но не получается. Вот код: int main() { const int n=4; const int...

В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение индекса
В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru