21. december 2008 - 18:59Der er
11 kommentarer og 1 løsning
Statistik per dag med gennemsnit
Jeg har en tabel med angivelse af hvornår en side er blevet vist angivet ved et ID og et timestamp.
Ud fra denne tabel vil jeg gerne have opbygget en ny tabel som giver følgende: En records per ID per dag med antallet af View og gennemsnittet per dag.
Jeg bruge idag denne funktion som giver view per dag men ikke gennemsnittet per dag.
ALTER PROCEDURE dbo.UpdateStatistics
AS begin DECLARE @LastDate Datetime DECLARE @MaxDate Datetime SELECT @LastDate = Max(TheDate) FROM DayStatistics IF( @LastDate IS NULL ) Select @LastDate = min(Created) FROM ViewLog
Du har et TurnamentId på følgende dage: 2008-01-01 : antal=4 2008-01-02 : antal=8 2008-01-03 : antal=0
Skal alle tre rækker så indeholde gennemsnittet som jo er 4? Eller skal dag 1 indeholde 4, og dag 2 indeholde 6 (gennemsnittet af 4 og 8) og dag 3 så 4 igen (gennemsnit af 4, 8 og 0)?
Spørgsmålet er, skal alle eksisterende rækker opdateres med et samlet gennemsnit af alle date hvor det pågældende id er repræsenteret, eller er det kun den nyeste række der skal indeholde en gennemsnit af alle rækker?
En dag giver x antal række lig med antallet af ID'er så en tabel kan se ud som følgende
2008-01-01 ID= 3 ANTAL 2 2008-01-01 ID= 4 ANTAL 4 2008-01-01 ID= 5 ANTAL 6 2008-01-01 ID= 6 ANTAL 8 2008-01-01 ID= 7 ANTAL 10
Samtlig rækker for en dato skal indeholde et gennemsnit nemlig gennemsnitsberegningen af alle rækker for dagen i ovenstående tilfælde vil alle 5 rækker indeholde gennemsnittet 6 .
2008-01-01 ID= 3 ANTAL 2 AVG=6 2008-01-01 ID= 4 ANTAL 4 AVG=6 2008-01-01 ID= 5 ANTAL 6 AVG=6 2008-01-01 ID= 6 ANTAL 8 AVG=6 2008-01-01 ID= 7 ANTAL 10 AVG=6
buzzzz: Det ser ud som alle records får samme gennemsnit og ikke kun dem med samme dato, resultat skulle være som nedestående men alle datoer får samme gennemsnit?
2008-01-01 ID= 3 ANTAL 2 AVG=6 2008-01-01 ID= 4 ANTAL 4 AVG=6 2008-01-01 ID= 5 ANTAL 6 AVG=6 2008-01-01 ID= 6 ANTAL 8 AVG=6 2008-01-01 ID= 7 ANTAL 10 AVG=6 2008-01-02 ID= 3 ANTAL 2 AVG=3 2008-01-02 ID= 4 ANTAL 4 AVG=3
Ja ... tog chancen uden at teste selv. Men som du har gjort lader jo til at virke, udover sidste Alias vist er overflødigt ... vist kun det inden i den subselect der skal med ...
Men som Arve_v siger, ville jeg nok også overveje at lave et view af det ... tvivler på performance dropper noget du vil lægge mærke til ...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.