Sorter datasæt efter både dato og id, for hver dag
Jeg har en del rækker data, som jeg prøver at trække ud pænt sorteret.De to hoved-data jeg sorterer på er henholdsvis data og rute.
Her er et eksempel på de rå data i databasen:
id rating rute dato
----------- ------ ------ -----------
1 3 1 1321226891
2 4 1 1321226932
3 3 1 1321227614
4 4 1 1321227830
5 4 1 1321257527
6 3 2 1321262525
7 4 1 1321280124
8 3 1 1321283190
9 5 3 1321377143
10 4 2 1321391290
11 5 1 1321456503
12 4 1 1321482384
13 5 1 1321529010
14 3 1 1321530464
15 3 1 1321535650
16 3 1 1321540463
17 3 1 1322577354
18 4 1 1323350506
19 3 2 1323350551
(Dato er unix timestamp)
Mit mål er at få data ud sorteret på denne måde:
(har oversat timestamps til læsbare datoer i dette eksempel)
Dato: 13-11-2011
dato;rating;rute id;rute navn;
13-11-2011 23:28:11;3;1;151-152: By1 - By2;
13-11-2011 23:28:52;4;1;151-152: By1 - By2;
13-11-2011 23:40:14;3;1;151-152: By1 - By2;
13-11-2011 23:43:50;4;1;151-152: By1 - By2;
Antal ratings: 4, Gennemsnit: 0,29
Dato: 14-11-2011
dato;rating;rute id;rute navn;
14-11-2011 07:58:47;4;1;151-152: By1 - By2;
14-11-2011 14:15:24;4;1;151-152: By1 - By2;
14-11-2011 15:06:30;3;1;151-152: By1 - By2;
14-11-2011 09:22:05;3;2;151-152: By2 - By1;
Antal ratings: 4, Gennemsnit: 0,29
Dato: 15-11-2011
dato;rating;rute id;rute navn;
15-11-2011 21:08:10;4;2;151-152: By2 - By1;
15-11-2011 17:12:23;5;3;190-191: By3 - By4;
Antal ratings: 2, Gennemsnit: 0,22
Dato: 16-11-2011
dato;rating;rute id;rute navn;
16-11-2011 15:15:03;5;1;151-152: By1 - By2;
16-11-2011 22:26:24;4;1;151-152: By1 - By2;
Antal ratings: 2, Gennemsnit: 0,22
Dato: 17-11-2011
dato;rating;rute id;rute navn;
17-11-2011 11:23:30;5;1;151-152: By1 - By2;
17-11-2011 11:47:44;3;1;151-152: By1 - By2;
17-11-2011 13:14:10;3;1;151-152: By1 - By2;
17-11-2011 14:34:23;3;1;151-152: By1 - By2;
Antal ratings: 4, Gennemsnit: 0,29
Dato: 29-11-2011
dato;rating;rute id;rute navn;
29-11-2011 14:35:54;3;1;151-152: By1 - By2;
Antal ratings: 1, Gennemsnit: 0,33
Dato: 08-12-2011
dato;rating;rute id;rute navn;
08-12-2011 13:21:46;4;1;151-152: By1 - By2;
08-12-2011 13:22:31;3;2;151-152: By2 - By1;
Antal ratings: 2, Gennemsnit: 0,29
Ved hjælp af følgende SQL sætning, er jeg foreløbig kommet frem til følgende output, men rute-id'erne er ikke sorteret korrekt for hver dag.
(se 14/11 og 15/11, der kan det ses at ruterne ikke er sorteret.)
SELECT r.id, r.rating, r.dato, r.rute as rute_id, rute.navn as rute_navn FROM ratings r, ruter rute WHERE r.rute = rute.id ORDER BY r.dato ASC, r.rute ASC
Dato: 13-11-2011
dato;rating;rute id;rute navn;
13-11-2011 23:28:11;3;1;151-152: By1 - By2;
13-11-2011 23:28:52;4;1;151-152: By1 - By2;
13-11-2011 23:40:14;3;1;151-152: By1 - By2;
13-11-2011 23:43:50;4;1;151-152: By1 - By2;
Antal ratings: 4, Gennemsnit: 0,29
Dato: 14-11-2011
dato;rating;rute id;rute navn;
14-11-2011 07:58:47;4;1;151-152: By1 - By2;
14-11-2011 09:22:05;3;2;151-152: By2 - By1;
14-11-2011 14:15:24;4;1;151-152: By1 - By2;
14-11-2011 15:06:30;3;1;151-152: By1 - By2;
Antal ratings: 4, Gennemsnit: 0,29
Dato: 15-11-2011
dato;rating;rute id;rute navn;
15-11-2011 17:12:23;5;3;190-191: By3 - By4;
15-11-2011 21:08:10;4;2;151-152: By2 - By1;
Antal ratings: 2, Gennemsnit: 0,22
Dato: 16-11-2011
dato;rating;rute id;rute navn;
16-11-2011 15:15:03;5;1;151-152: By1 - By2;
16-11-2011 22:26:24;4;1;151-152: By1 - By2;
Antal ratings: 2, Gennemsnit: 0,22
Dato: 17-11-2011
dato;rating;rute id;rute navn;
17-11-2011 11:23:30;5;1;151-152: By1 - By2;
17-11-2011 11:47:44;3;1;151-152: By1 - By2;
17-11-2011 13:14:10;3;1;151-152: By1 - By2;
17-11-2011 14:34:23;3;1;151-152: By1 - By2;
Antal ratings: 4, Gennemsnit: 0,29
Dato: 29-11-2011
dato;rating;rute id;rute navn;
29-11-2011 14:35:54;3;1;151-152: By1 - By2;
Antal ratings: 1, Gennemsnit: 0,33
Dato: 08-12-2011
dato;rating;rute id;rute navn;
08-12-2011 13:21:46;4;1;151-152: By1 - By2;
08-12-2011 13:22:31;3;2;151-152: By2 - By1;
Antal ratings: 2, Gennemsnit: 0,29