У меня есть таблица MySQL, которая содержит много строк. Структура таблицы выглядит следующим образом:Запрос на MySQL вопрос
id: bigint,
event_type: int,
total: int
Образец данных:
id event_type total
1 1 NULL
2 -1 NULL
3 1 NULL
4 1 NULL
5 1 NULL
6 -1 NULL
7 -1 NULL
8 -1 NULL
EVENT_TYPE будет либо 1
или -1
. Первоначально значение total
будет установлено на NULL
. Есть ли простой SQL-запрос, который будет накапливать значения event_type
в total
. Таким образом, таблица будет выглядеть следующим образом:
id event_type total
1 1 1
2 -1 0
3 1 1
4 1 2
5 1 3
6 -1 2
7 -1 1
8 -1 0
Кроме того, total
колонка может быть частично рассчитаны. Другими словами, мне нужно запустить запрос, пока таблица все еще изменяется (путем вставки). Я знаю, что это можно сделать с помощью PHP или Perl-кода. Однако было бы неплохо сделать это, просто используя SQL-запросы.
Вы хотите общее количество? Почему бы вам просто не SUM (event_type) и использовать LIMIT для того, сколько строк вы хотите –
Зачем вам это нужно? Кажется, он не соответствует реляционной модели. – cherouvim
Я хочу нарисовать эти значения. Вы предлагаете лучший способ сделать это? – Khaled