Будет ли BT 4.2 в классическом режиме подключаться к BT 2.1 + EDR?

У меня есть база данных, содержащая около 1 миллиарда строк, которые нам нужны, чтобы определить средний возраст в наборе. Сортировка миллиардов строк сложна, но если вы объединяете различные значения, которые можно найти (возраст варьируется от 0 до 100), вы можете отсортировать этот список и использовать некоторую арифметическую магию, чтобы найти какой-либо процентиль, который вы хотите, следующим образом:

with rawData(count_value) as
(
    select p.YEAR_OF_BIRTH
        from dbo.PERSON p
),
overallStats (avg_value, stdev_value, min_value, max_value, total) as
(
  select avg(1.0 * count_value) as avg_value,
    stdev(count_value) as stdev_value,
    min(count_value) as min_value,
    max(count_value) as max_value,
    count(*) as total
  from rawData
),
aggData (count_value, total, accumulated) as
(
  select count_value, 
    count(*) as total, 
        SUM(count(*)) OVER (ORDER BY count_value ROWS UNBOUNDED PRECEDING) as accumulated
  FROM rawData
  group by count_value
)
select o.total as count_value,
  o.min_value,
    o.max_value,
    o.avg_value,
    o.stdev_value,
    MIN(case when d.accumulated >= .50 * o.total then count_value else o.max_value end) as median_value,
    MIN(case when d.accumulated >= .10 * o.total then count_value else o.max_value end) as p10_value,
    MIN(case when d.accumulated >= .25 * o.total then count_value else o.max_value end) as p25_value,
    MIN(case when d.accumulated >= .75 * o.total then count_value else o.max_value end) as p75_value,
    MIN(case when d.accumulated >= .90 * o.total then count_value else o.max_value end) as p90_value
from aggData d
cross apply overallStats o
GROUP BY o.total, o.min_value, o.max_value, o.avg_value, o.stdev_value
;

Этот запрос зависит от ваших поддерживающих оконных функций (включая ROWS UNBOUNDED PRECEDING), но если у вас нет, то просто присоединить aggData CTE к себе и объединить все предыдущие итоговые значения в «накопленный» который используется для определения того, какое значение содержит указанный предусилитель. Вышеприведенный образец вычисляет p10, p25, p50 (медиана), p75 и p90.

-Chris

0
задан TECHKEY 19 March 2019 в 08:02
поделиться

1 ответ

Да, при условии, что вы используете обычное соединение, ваше устройство Bluetooth 4.2 с двумя режимами должно подключаться к устройству BT2.1 + EDR. В настоящее время большинство телефонов Android поддерживают двойной режим Bluetooth 4.X (где X равен 0, 1 или 2), и они могут без проблем подключаться к устройствам BT 2.1 + EDR.

0
ответ дан Youssif Saeed 19 March 2019 в 08:02
поделиться
Другие вопросы по тегам:

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