SQL-Weryfikacja poprawności działania zapytania

0

Czesc mój problem :

W bazie zrobić zestawienie zawierające następujące dane: nazwa miesiąca, rok oraz sumę opłat za wizyty w danych miesiącu danego roku. W zestawieniu uwzględniamy tylko te miesiące dla których sumaryczna wartość opłat jest wieksza od średniej miesięcznej wartości opłat dla danego roku wynik malejąco według wartości opłat

oto tabela:
Tabela Wizyty ( IdWizyty, IdLekarza, IdPacjenta, DataWizyty, Oplata)

Skorzystalem tutaj z funkcji DateName( mm, data)). .Oto mój kod , jak ruszyć dalej a dokladniej jak wyciagnac ten miesiac ktory spelnia ten warunek ?

                           
                                                    
with tmp as
(


select 
DateName( mm, DataWizyty)  as miesiac ,
DateName( yy, DataWizyty)  as rok ,
  sum(oplata) as Suma
from Wizyty


group by DateName( mm, DataWizyty),
		DateName( yy, DataWizyty)


		
)

select * ,
  sum(suma) over (partition by miesiac) as SumaWartosciOplatNaMiesiac,
  avg(suma) over (partition by rok) as SredniaMiesiecznaWartoscOplatDlaDanegoRoku



 from tmp
0

Potrzebyjesz opłaty miesięczne, plus średnią opłat za rok:

with msc as (
select 
    Year(DataWizyty)  as rok ,
    DateName( mm, DataWizyty)  as miesiac ,
    sum(oplata) as Oplaty
from 
    Wizyty
group by 
    DateName( mm, DataWizyty),
    Year(DataWizyty) 
), avgy as (
select 
    Year(DataWizyty)  as rok ,
    sum(oplata)/count(distinct month(datawizyty)) as avgy
from 
    Wizyty
group by 
    Year(DataWizyty) 
)
select  msc.*
from
    msc
    inner join avgy on msc.rok = avgy.rok
where
   avgy.acgy < msc.oplaty
order by
    oplaty desc

1 użytkowników online, w tym zalogowanych: 0, gości: 1