Как я могу суммировать и заменять данные столбцов, а также усреднять все в запросе MS Access?
Вопрос
Я извлекаю данные из одной таблицы, называемой анализируемой копией, и использую их для перезаписи всей информации в другой таблице, называемой анализируемой.Столбцы, которые я сортирую, фильтрую и манипулирую, — это reads_miu_id, ReadDate, ReadTime, RSSI.В настоящее время я перемещаю данные из проанализированной копии в проанализированную, используя следующий SQL-запрос, который позволяет получить только последний раз (наивысшее значение в ReadTime, поскольку оно отформатировано по военному времени) для каждой уникальной пары reads_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
чтобы показать желаемый диапазон дат (в этом случае нужно будет показать что-то вроде «21 апреля 2009 г. — 29 апреля 2009 г.»), а также взять среднее значение 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.
Редактировать:
Если я что-то недостаточно хорошо объяснил, пожалуйста, дайте мне знать, и я постараюсь исправить и добавить информацию в меру своих возможностей.
Решение
Решайте проблему по одному.Создайте таблицы для каждого шага: АнализируемыйШаг1, АнализируемыйШаг2 и т. д.