Вы хотите использовать lag()
для этого, но вы должны быть осторожны с фильтрацией даты. Итак, я думаю, вы хотите:
SELECT prev_membership_type, membership_type,
COUNT(*) as num_changes,
COUNT(DISTINCT member) as num_members
FROM (SELECT mddc.*,
LAG(mddc.membership_type) OVER (PARTITION BY mddc.customer_id ORDER BY mddc.date) as prev_membership_type
FROM member_detail_daily_changes_new mddc
) mddc
WHERE prev_membership_type <> membership_type AND
date >= '2018-01-01' AND
date < '2019-01-01'
GROUP BY membership_type, prev_membership_type;
Примечания:
date
должна произойти после вычисления lag()
. Синхронизация относительно положения слушателя относительно каждого динамика. Я не думаю, что надежность сети как очень имела бы отношение к этой синхронизации, поскольку она будет содержание аудиопотока. Для синхронизации Вас, должен найти расстояние между каждым докладчиком и слушателем. Найдите различие между каждым из тех значений и значением для самого дальнего динамика. Для каждого 1,1 фута различия задержите каждый из близких динамиков на 1 мс. Это гарантирует, что аудиопоток достигает слушателя одновременно. Это все принимает открытую область, поскольку любой в близости к Вашему сценарию генерирует отражения волн аудиосигнала и создаст разрушительную интерференцию. Объекты в области могут также передать звук на более медленной скорости, приводящей к отложенному собственному звуку.