chciałbym wyciągnąć dane z tabeli gdzie generowane są rekordy z maszyn produkcyjnych dotyczące zużycia energii elektrycznej - baza danych SQL Server. Program monitorujący dokonuje odczytu co sekundę z kilkunastu maszyn wstawiając do tabeli rekord ze stanem licznika zuzycia prądu. Łącznie tabela maszynaZuzytaEnergia zawiera już kilka mln rekordów.
Produkcję w mojej firmie interesuje jakie jest dzienne zużycie energii przez konkretna maszynę.
Potrafię sobie z tym poradzić używając excela i tabel przestawnych, ale to nie jest wyjście. Najlepszym rozwiązaniem jest stworzenie widoku / zapytania w bazie danych, które grupuje odczyty dla konkretnych ID maszyn i dni pokazuje wartość maksymalną i minimalną dla konkretnego dnia, a w dodatkowym polu pokazuje zużycie dzienne wyliczonę po przez różnicę wartości maksymalnej odczytu zużycia energii i wartości minimalnej zużycia energii w tym dniu.
Niestety nie mogę sobie z tym poradzić.
Poniżej informacje o właściwościach tabeli, oraz przykładowy efekt wykonania zapytania z ograniczeniem do 2 dni i przykład tabeli jaką miałoby generować zapytanie pokazujące zużycie dzienne dla konkretnej maszyny.
Struktura tabeli
Dane źródłowe na podstawie zapytania
select mze.id, mze.rejestrMaszynId, mze.czas, mze.energiaKWh from maszynaZuzytaEnergia mze where YEAR (mze.czas)=2022 and MONTH(mze.czas)=10 and day(mze.czas) in (21,22)
Efekt jaki chciałbym uzyskać (na przykładzie tabeli przestawnej z Excela)
Proszę o pomoc.