webForumDet fria alternativet

Antal poster per datum

1 svar · 309 visningar · startad av kristoffer

kristofferMedlem sedan juni 20001 257 inlägg
#1

Jag har tabell med ungefär följande design:

intId, INT IDENTITY
datDateClick, DATETIME
intId_foreignKey, INT

I tabellen sätts en rad in varje gång en användare klickar på en länk. Jag behöver beräkna antal rader per dag från och med ett visst datum till och med ett annat datum. Ett krav är att även datum som saknar rader inkluderas i resultatet, typ:

input parameters:
startdate: 2006-03-20
enddate: 2006-04-20

resultat:
'2006-03-20', 35
'2006-03-21', 0
'2006-03-22', 27
...
'2006-04-20', 41

Jag tänker mig något i stil med denna SQL-fråga som LarsG skrev en gång i tiden.

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Du har inte sagt msdb men med mssql kanske du skulle kunna göra en temptabell:

Create procedure getDates(
	@startdate datetime, 
	@enddate datetime
)
AS
DECLARE @i int,@a int
set @i=0

CREATE TABLE #Bar (dte datetime,co int)
while datediff(day,@startdate+@i,@enddate) > -1
Begin
	Set @a = (select count(*) from tabell where datDateClick = @startdate+@i)
	Insert into #Bar(dte,co) values(dateadd(day,@i,@startdate),@a)
	SET @i = @i + 1
End
SELECT dte as Datum, co as Klick From #Bar
DROP TABLE #Bar

Kanske är helt ute å cyklar men det funkar i alla fall hyfsat.

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)