Я извлекаю данные из одной таблицы, называемой AnalysisCopy, и использую ее для перезаписи всей информации в другой таблице, называемой анализом. Я сортирую / фильтрую / манипулирую столбцами: readings_miu_id, ReadDate, ReadTime, RSSI. В настоящее время я перемещаю данные из analysisCopy в анализируемый файл, используя следующий sql для получения только последнего времени (наибольшее значение в ReadTime, поскольку оно отформатировано в военное время) для каждой уникальной пары readings_miu_id и ReadDate.
SELECT readings_miu_id, Reading, ReadDate, ReadTime, MIUwindow, SN, Noise, RSSI, ColRSSI,MIURSSI,Firmware,CFGDate,FreqCorr,Active,MeterType,OriginCol,ColID,Ownage,SiteID,PremID, prem_group1, prem_group2,ReadID
INTO analyzed
FROM analyzedCopy AS A
WHERE ReadDate BETWEEN #04/21/09# AND #04/29/09# AND ReadTime= (SELECT TOP 1 analyzedCopy.ReadTime FROM analyzedCopy
WHERE analyzedCopy.readings_miu_id = A.readings_miu_id AND analyzedCopy.ReadDate = A.ReadDate
ORDER BY analyzedCopy.readings_miu_id, analyzedCopy.ReadDate, analyzedCopy.ReadTime DESC)
ORDER BY A.readings_miu_id, A.ReadDate, A.ReadTime DESC ;
Мне нужно добавить к этому коду возможность вносить в таблицу «анализ» одну запись на readings_miu_id
, изменяя ReadDate
, чтобы показать желаемый диапазон дат (в этом случае это должно было бы показать что-то вроде « С 4/21/09 по 29.04.09 "), а также принимая среднее значение RSSI для каждого DISTINCT reading_miu_id
и вставляя это среднее значение RSSI в поле RSSI в анализируемой таблице.
В попытке подведения итогов / обзора у меня есть код для вставки в таблицу всех записей из другой таблицы, где ReadTime
является наибольшим для каждой уникальной комбинации readings_miu_id
и ReadDate. И мне нужно добавить к этому коду возможность взять среднее RSSI из уже отсортированных (шаг в предыдущем предложении) записей и вставить это среднее значение в RSSI в проанализированном и вставить диапазон дат в ReadDate
в проанализированном.
Я понимаю, что, вероятно, я здесь много спрашиваю, и если мне нужно использовать два или три разных шага или SQL-код, это нормально. программа, в которую это входит, не будет использоваться многими людьми, и моему боссу все равно, будет ли код грязным или что запуск займет некоторое время. Я боюсь, что меня заставляют делать что-то неэффективно и беспорядочно, но это то, что я вынужден делать.
Я должен быть в состоянии использовать функцию sum()
, чтобы суммировать значения RSSI. Я просто не уверен, как это сделать при делении суммы на количество для каждого DISTINCT readings_miu_id
и при выполнении всего остального, что мне нужно сделать. к этим данным. Используя VB.NET 2008 и sqlServer, я мог выполнять каждую строку с помощью некоторых логических операторов, чтобы делать с данными то, что мне нужно, но я не знаю, как это сделать в SQL или VBA.
Edit:
Если я недостаточно хорошо объяснил что-то, пожалуйста, дайте мне знать, и я постараюсь исправить и добавить информацию в меру своих способностей.