170 похожих чатов

Всем привет, не могу решить задачу, надо найти разницу в

quantity для key 'last'и 'new', уже долго думаю, помогите пожалуйста.
https://onlinephp.io?s=7VTNTttAEL4j5R3mYCl2CRLlmJBUAVwaKYQqJEUojSrX2ZBVjW1210BUIUFR1UP7BH0KRBW1qAVeYf1G3bUd_Nsf9VD10Dl41zPfzM58s7Orj9yJC6UF13tpYRMoM5hYxp5tMuzYsI_YuuPZrE8RoZvE8dy16QY6wiZSSwsQybqFkc1AMYO1Ehuw1FLMUGuU1RreSIDNAov4IHJkWKFaq4JBiDGF1zFMGTkiW9SKgFCPneABrNRKCwksPRSA-H9Hb-vrPYgVUkZBRWDQaFdJmz0bH6oeHmkScegZNsNsmsGULYOysgS8QtPY9Li7vQXoSNDyQlJLY8vuE72rQ0iOrCDcpYM2OxswMag6J4tWksRpeTDDB0icc-DCmt7b1fUO2M6xqsEStDo9vfus2c6Rt9HcC1zzQJyAxEdtdrf7T2FtL6IqNvQ7re0ONNvtv0C2jY7_Ia4bf0pe6qYykrrkUhRZB5IZh6O11KDIQiZT5a3WajH4FEyDmRNQn-snJnKD0VXQfKtl47ad_WoVEeIQNYGqpUEEMY_YMBgmz0mN1shgxg5ibWTvs4nI0pQvhRomvdQgzjFVtWTUwCE5jFIG6d-gvaLlFipDvQFl_pHf8q_8i_-Oz_xz_w2_4rfA76TS_8A_i_WKXwr1TIBm_Br8c_7JP_MvBOROeJ2FAH7Db_z3_tvAE_wLGSmwXUcxL_m3cqUok6kbJcIMMTXlNCRJzdghoCpY0LBcE-2H1Qw_Urm4mGuFEo1DHdK8DRQ8HCwPMz1R5gNRjH-Yw4sBKYauDFOXTwoeiwICh3o4YUGyeVKCugZDEbegdwFrEiBZKzZL-YHnfYT4BiiFr0TeYd6oLcQINnvowLVEzbRa7bsWHovREcPo_TLMPHMY3FM9_IlPkS3bg1NAFkXZvkv5T-S9_BaRqXdovo2eqYDLyOH0Ow%2C%2C&v=8.2.6

2 ответов

13 просмотров

Привет! Для начала, нужно собрать результаты запросов в два разных массива. Затем, после цикла, мы можем вычислить разницу для каждого устройства, если есть таковые. Я модифицировал твой код для того, чтобы это реализовать: public static function getCountUsersGroupByDevice( Client $client, int $siteId, int $audienceId, int $interval ): array { $doubleInterval = $interval * 2; $sql = SELECT device as device, uniq(uid) as quantity, 'last' as key FROM event_stats WHERE siteId = $siteId AND has(audiences, $audienceId) AND timestamp BETWEEN now() - INTERVAL $doubleInterval DAY AND now() - INTERVAL $interval DAY GROUP BY device UNION ALL SELECT device as device, uniq(uid) as quantity, 'new' as key FROM event_stats WHERE siteId = $siteId AND has(audiences, $audienceId) AND timestamp > now() - INTERVAL $interval DAY GROUP BY device; try { $state = $client->select($sql); } catch (\Exception $exception) { Log::error($exception); return []; } $dataSetLength = count($state->rows()); $newData = []; $lastData = []; $result = [ 'title' => 'Количество пользователей сгруппированных по устройствам', 'type' => 'table' ]; for ($i = 0; $i < $dataSetLength; $i++) { $device = $state->rows()[$i][0]; $quantity = $state->rows()[$i][1]; $key = $state->rows()[$i][2]; if ($key == 'new') { $newData[$device] = $quantity; } else { $lastData[$device] = $quantity; } } foreach ($newData as $device => $quantity) { $diff = $quantity - ($lastData[$device] ?? 0); $result[] = [ 'data' => [ 'title' => $device, 'type' => MetricTemplates::Uplift->value, 'data' => [$diff], ], ]; } return $result; } Затестить не могу по понятным причинам Отпишись или подходит решение

Владислав-Саросек Автор вопроса

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Any electron dev here?
Sayanth Tezro
12
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
Карта сайта