ptypeMedlem sedan juni 2002151 inlägg Hej!
Jag har ett visst antal händelser i en tabell, alla med varsitt datum. Det skulle vara bra om man kunde få en numrering för datumet, typ så att första datumet som finns blir dag 1 och efterföljande dag blir dag 2 etc.
Ex:
2001-01-01 1
2001-01-03 3
2001-01-05 5
Sedan en ytterligare fråga, om ovanstående går att göra, går det sedan att t.ex. gruppera dem veckovis? alltså att dag 1-7 är vecka 1 osv??
Tacksam för svar!
Engine^Medlem sedan dec. 20002 861 inlägg Första frågan är den enkla, så jag väljer att svara på den ;)
SELECT [i]datumet[/i], Day([i]datumet[/i]) FROM [i]tabellen[/i]
Andra biten känns betydligt klurigare att lösa med SQL och jag kan inte komma på något där.
LarsGMedlem sedan dec. 200012 465 inlägg Det är nog inte riktigt så enkelt.
SELECT datumet,
datediff(day,(select min(datumet) from t) ,datumet) + 1 as days
FROM t
2:an
select (datediff(day,(select min(datumet) from t) / 7) + 1,
count(*) from t
group by (datediff(day,(select min(datumet) from t) / 7) + 1
ptypeMedlem sedan juni 2002151 inlägg En fortsatt fråga LarsG
Har nu
SELECT intAntal, datDate, DATEDIFF(day,
(SELECT MIN(datDate)
FROM tblLagerTrans_ltr), datDate) + 1 AS days
FROM dbo.tblLagerTrans_ltr
WHERE (intId_art = '284')
ORDER BY days
Kan man utöka denna fråga så jag får summan av intAntal för en viss days? (kan alltså finnas flera poster för samma days)
Är dig evigt tacksam!!
ptypeMedlem sedan juni 2002151 inlägg yeah !!
SELECT SUM(intAntal) AS Expr2, days AS Expr1
FROM (SELECT intAntal, datDate, DATEDIFF(day,
(SELECT MIN(datDate)
FROM tblLagerTrans_ltr), datDate) + 1 AS days
FROM dbo.tblLagerTrans_ltr
WHERE (intId_art = '284')) DERIVEDTBL
GROUP BY days
ORDER BY days
Engine^Medlem sedan dec. 20002 861 inlägg Följdfråga: nu begriper jag varken svaret på första eller andra frågan - varför väljs
DateDiff(day, SELECT Min(datumet) FROM t, [i]datumet[/i]) + 1
om det ska bli
2001-01-01 1
2001-01-03 3
2001-01-05 5
?
Var tanken att det skulle bli
2001-01-01 1
2001-01-03 2
2001-01-05 3
eller har jag frågan om bakhanden?
ptypeMedlem sedan juni 2002151 inlägg Det ska bli
2001-01-01 1
2001-01-03 3
2001-01-05 5
vilket det ju blir med SQL-syntaxen angiven, därför att man räknar ut skillnaden i dagar sedan den första dagen (2001-01-01) och postens datum.