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?
Announcement
Collapse
No announcement yet.
Group by Datepart(ww, dt)
Collapse
X
-
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