Jag behöver få ut en summa av alla leveranser som har skett vecka x. Jag ska publisera de fem senaste veckornas leveranser. Går det att göra detta med en fråga eller måste jag köra flera?
Jag har gjort en mycket omständig lösning för detta nu och jag inser att det borde gå att få ut med en bättre SQL fråga istället.
Tabellen ser ut så här:
id | levdatum | etc...
1 | 2004-03-01
2 | 2004-03-01
3 | 2004-04-01
4 | 2004-04-01
5 | 2004-04-01
Jag vill få ut:
vecka 12 = 23 st
vecka 13 = 2 st
vecka 14 = 11 st
vecka 15 = 1 st
vecka 16 = 1 st
Efter att ha tweakat till det lite mer så har jag kommit fram till följande lösning:
<% '*** Returnerar per week ***'
function funReturnPerWeek(varWeek, varYear)
sql = "SELECT COUNT(ID) AS [myCount] FROM T_order_n_tracking "
sql = sql & " WHERE datepart('WW',orderdatum) = " &varWeek &" AND datepart('YYYY',orderdatum) = " &varYear
set rs = connect.execute(sql)
funReturnPerWeek = rs("myCount")
end function %>
Jag anropar den funktionen på sju ställen. Det tar ungefär två sekunder innan sidan laddas. Det borde gå att få det hela att gå snabbare tycker jag...
En fråga för att ta ut dom senaste 5 veckorna kan se ut såhär (DBMS = Access)
SELECT DatePart('ww', levdatum), Count(*)
FROM T_order_n_tracking
WHERE Year(levdatum) = Year(Date())
GROUP BY DatePart('ww', levdatum)
ORDER BY 1 DESC