Сколько записей будет, если ограничить результаты поиска по ID и дате?

Как мне посчитать количество срабатываний событий за 30 дней до даты каждой заявки из таблицы заявок, учитывая, что на одного клиента может быть несколько заявок в разные даты и что события могут происходить после даты заявки?
  • 31 октября 2023 г. 10:11
Ответы на вопрос 2
Чтобы посчитать количество срабатываний событий за 30 дней до даты каждой заявки, необходимо выполнить следующие шаги:

1. Получить таблицу заявок.
2. Для каждой заявки, получить ее ID и дату.
3. Для каждой заявки, найти все события с датами в интервале 30 дней до даты заявки.
4. Подсчитать количество таких событий.

Пример псевдокода для этого алгоритма мог бы выглядеть следующим образом:

```
// Получить таблицу заявок
заявки = получить_таблицу_заявок()

// Перебрать каждую заявку
для каждой заявки в заявки {
    // Получить ID и дату заявки
    ID_заявки = заявка.ID
    дата_заявки = заявка.дата

    // Подсчитать количество событий за 30 дней до даты заявки
    количество_сработавших_событий = 0
    для каждого события в события {
        // Проверить, что событие произошло за 30 дней до даты заявки
        если (событие.дата >= (дата_заявки - 30 дней) и событие.дата <= дата_заявки) {
            количество_сработавших_событий++
        }
    }

    // Вывести результат
    вывести(ID_заявки, количество_сработавших_событий)
}
```

Таким образом, после выполнения этого алгоритма, вы получите количество срабатываний событий за 30 дней до каждой заявки из таблицы заявок.
1. Выберите количество из таблицы событий, где User_Id в таблице событий совпадает с User_Id в таблице заявок и Event_Date находится в промежутке между App_Date в таблице заявок и текущей датой минус 30 дней.

2. Создайте подзапрос, в котором выбирается количество из таблицы событий. Для этого необходимо проверить, чтобы User_Id в таблице событий совпадал с User_Id в таблице заявок и Event_Date находилась в промежутке между App_Date в таблице заявок и текущей датой минус 30 дней.
Похожие вопросы