Announcement

Collapse
No announcement yet.

Group by Datepart(ww, dt)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Group by Datepart(ww, dt)

    Ich möchte aus täglich abgelegten Werten über Menu zusammenzüge generieren. Problematisch ist, das bei Wochensummen welche mit Group by Datepart(ww, dt) gemacht werden, der Sonntag jeweils doppelt gerechnet wird (8-Tageswoche).. IWe kann ich auf 7-Tageswoche umschalten?

  • #2
    Hallo Michael,<BR><BR>Ich kann leider dein Problem nicht nachvollziehen. In meinem Beispiel erhalte ich in den vollen Wochen immer exakt sieben Tage.<PRE>--Tabelle erstellen
    create table #a(a int identity(1, 1), b smalldatetime)
    --Tabelle füllen
    declare @i int
    set @i = 0
    while @i <50
    begin
    insert into #a values(cast('20030101' as smalldatetime) + @i)
    set @i = @i + 1
    end
    --Kontrolle
    select *, datepart(ww, b) as woche, datepart(dw, b) as WT from #a
    --Group By
    select datepart(ww, b) as Woche, count(*) Anz, sum(a) Summe from #a group by datepart(ww, b)
    --Tabelle löschen
    drop table #a
    <PRE>Oder liegt dein Problem eher am Starttag der Woche? Diesen kannst du mit SET DATEFIST setzen. Vielleicht kannst du auch ein konkretes Beispiel nennen?<BR><BR>Ola

    Comment

    Working...
    X