В данный момент у меня следующую таблицу значений:Возврат особое значение задержки столбца в MySQL
--------------------------------
| ID | Action | Time |
--------------------------------
| 1 | A | 01 |
| 1 | BB | 10 |
| 1 | C | 12 |
| 2 | C | 05 |
| 2 | A | 08 |
| 2 | BB | 17 |
| 2 | A | 26 |
| 2 | BB | 47 |
Предположим, что данные упорядочены в порядке возрастания Time
. То, что я хочу для каждого вызова, когда данные сгруппированы по ID
, чтобы новый столбец BB_Time
который имеет разницу во времени ВВ и предыдущее событие в вызове, который будет выглядеть так:
----------------------------
| ID | ... | BB_Time |
----------------------------
| 1 | ... | 09 |
| 2 | ... | 21 |
Если ВВ происходит в начале разговора, то BB_Time
будет равен нулю, и если ВВ происходит более одного раза в вызове, столбец должен вернуть максимальную разницу во времени. EDIT: И если BB не появляется в вызове, то будет работать NULL или 0.
Ближайший (?) Я смог взломать это, ограничивая только BB
действия в задаче WHERE
таким образом, но это не дает отставания.
Мысли?
Как вы получили идентификатор 1, BB, BB_Time 09: Если бы я выполнил ваш алгоритм, как описано, я получил бы ID 1, BB, BB_Time 10 –
Что делать, если ID не имеет BB – Drew
@Norbert, BB получает предыдущая строка для diff, поэтому 10-1 = 9 – Drew