Ik heb in een mysql database een tabel tickets, van deze tabel wil ik een overzicht hebben waarin per maand is op gesplitst de status,:
Momenteel doe ik dat door een sqlstatement te gebruiken en vervolgens via een C-programma'tje te halen om dit vervolgens uit te spugen. Dit wordt aangestuurd via een cronjob.
Echter ik zou graag een sql statement hebben om dit in een keer te doen, voor de volledigheid, de tickets tabel bevat "status" en "create_date". Het statement wat ik nu heb geeft me alleen per maand een overzichtje en dan ben ik nog niet van mijn C-programma af:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Month Closed Open Unasgn Suspen Analyz Reprod Fixed Total Dec-2004: 68 37 10 23 5 3 1 147 Nov-2004: 90 12 2 3 13 2 2 124 Oct-2004: 88 11 0 1 3 2 1 106 Sep-2004: 90 14 0 2 5 1 1 113 Aug-2004: 61 5 2 0 0 0 0 68 Jul-2004: 131 22 1 0 4 1 1 160 Jun-2004: 84 7 0 0 1 3 0 95 May-2004: 54 1 0 0 1 0 0 56 Apr-2004: 70 8 1 0 0 0 0 79 Mar-2004: 76 11 0 1 0 0 0 88 Feb-2004: 86 5 3 0 0 0 0 94 Jan-2004: 69 8 1 2 0 0 0 80 Older : 442 244 26 28 9 0 3 752 Total : 1409 385 46 60 41 12 9 1962 |
Momenteel doe ik dat door een sqlstatement te gebruiken en vervolgens via een C-programma'tje te halen om dit vervolgens uit te spugen. Dit wordt aangestuurd via een cronjob.
Echter ik zou graag een sql statement hebben om dit in een keer te doen, voor de volledigheid, de tickets tabel bevat "status" en "create_date". Het statement wat ik nu heb geeft me alleen per maand een overzichtje en dan ben ik nog niet van mijn C-programma af:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| SELECT status, COUNT(*) As number FROM tickets
WHERE create_date<UNIX_TIMESTAMP('2004-11-1 00:00:00') AND create_date>UNIX_TIMESTAMP('2004-10-1 00:00:00')
GROUP BY status ORDER BY status Desc;
+------------+--------+
| status | number |
+------------+--------+
| Suspended | 1 |
| Reproduced | 2 |
| Open | 11 |
| Fixed | 1 |
| Closed | 88 |
| Analyzed | 3 |
+------------+--------+ |