Масштабирование значений столбцов от 0 до 1 в улье

Используйте классы AutoResetEvent и ManualResetEvent:

private ManualResetEvent manual = new ManualResetEvent(false);
void Main(string[] args)
{
    AutoResetEvent[] autos = new AutoResetEvent[availPorts.Count];

    manual.Set();

    for (int i = 0; i < availPorts.Count - 1; i++)
        {

        AutoResetEvent Auto = new AutoResetEvent(false);
        autos[i] = Auto;

        Thread t = new Thread(() => lookForValidDev(Auto, (object)availPorts[i]));
        t.Start();//start thread and pass it the port  

    }
    WaitHandle.WaitAll(autos);
    manual.Reset();

}


void lookForValidDev(AutoResetEvent auto, object obj)
{
    try
    {
         manual.WaitOne();
         // do something with obj 
    }
    catch (Exception)
    {

    }
    finally
    {
        auto.Set();
    }


} 
0
задан Vamsi Prabhala 18 January 2019 в 09:11
поделиться

1 ответ

Это можно сделать с помощью оконных функций min и max. Пустое предложение over() вычисляет агрегацию для всех значений в столбце. Так как оконные функции не являются агрегатными функциями, нет необходимости в group by.

select ID, 
(count1-min(count1) over())/(max(count1) over()-min(count1) over()),
(count2-min(count2) over())/(max(count2) over() -min(count2) over())
from table1
0
ответ дан Vamsi Prabhala 18 January 2019 в 09:11
поделиться
Другие вопросы по тегам:

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