SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » MySQL, MariaDB » Помогите составить запрос (Нужен select запрос)
Помогите составить запрос [сообщение #6333] Mon, 20 April 2026 07:28 Переход к следующему сообщению
MAULER в настоящее время не в онлайне  MAULER
Сообщений: 1
Зарегистрирован: April 2026
Junior Member
Есть таблица TICKET_HISTORY

id | name                                | state_id | create_time
   ------------------------------------------------------------ -------------
1  | %%open%%pending%%   | 6           | 2017-04-27 13:16:02
2  | %%pending%%open%%   | 4           | 2017-04-27 14:54:37
3  | %%open%%pending%%   | 6           | 2017-06-07 15:26:17
4  | %%pending%%open%%   | 4           | 2017-06-13 12:04:35
5  | %%open%%pending%%   | 6           | 2018-07-14 00:17:17
6  | %%pending%%closed%% | 18         | 2019-08-30 19:54:16

Требуется посчитать разницу во времени у пар [<статус>:pending] - [pending:<статус>]
т.е. "create_time" записи(id=2) вычесть "create_time" записи(id=1),
"create_time" записи(id=4) вычесть "create_time" записи(id=3) и т.д.
и полученные дельты сложить.

П.С. state_id может быть любым (в зависимости от типа pending в столбце "name") У меня за этот статус "зацепиться" не получилось  Sad .

Версия MySQL 5.7.38

[Обновления: Mon, 20 April 2026 07:40]

Известить модератора

Re: Помогите составить запрос [сообщение #6334 является ответом на сообщение #6333] Mon, 20 April 2026 14:58 Переход к предыдущему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 468
Зарегистрирован: August 2022
Senior Member
Вспоминаем школьную математику: (x1-y1)+(x2-y2)+(x3-y3) = (x1+x2+x3)-(y1+y2+y3). Отсюда псевдокод:
(select sum(create_time) where name like '\%\%pending%') - (select sum(create_time) where name like '%pending\%\%')
Предыдущая тема: Извлечь данные из базы InnoDB
Переход к форуму:
  


Текущее время: Mon Apr 20 18:38:53 GMT+3 2026

Общее время, затраченное на создание страницы: 0.00726 секунд