Jag har fått fram prioriteradevärden baserat på olika klockslag under en dag.
Listan ser ut så här.
SELECT id, Starttid, (prio + varde) as Priovärde
FROM Tider
ORDER BY Starttid
ID | Starttid | Priovärde
123 2008-12-15 08:00:00.000 4
125 2008-12-15 08:00:00.000 8
798 2008-12-15 08:00:00.000 5
555 2008-12-15 10:00:00.000 1
332 2008-12-15 10:00:00.000 1
111 2008-12-15 11:00:00.000 5
234 2008-12-15 12:00:00.000 8
789 2008-12-15 12:00:00.000 5
Jag vill få ut detta
ID | Starttid | Priovärde
125 2008-12-15 08:00:00.000 8
555 2008-12-15 10:00:00.000 1
111 2008-12-15 11:00:00.000 5
234 2008-12-15 12:00:00.000 8
Alltså jag vill bara retunera top värdet för varje klockslag. Har provat att köra top 1 för varje klockslag men eftersom det inte går att köra Union all med order by så går det åt skogen.
dvs
SELECT TOP1 Starttid, id, (prio + varde) as Priovärde
FROM Tider
WHERE 08 = datepart(hh, starttid)
ORDER BY (prio + varde) DESC
UNION ALL
SELECT TOP1 Starttid, id, (prio + varde) as Priovärde
FROM Tider
WHERE 09 = datepart(hh, starttid)
ORDER BY (prio + varde) DESC
Alla tips är välkommna.