Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  9 916
Sikkerhetsklarert
Har en tabell som inneholder saker i et sakssystem.
Hver sak har da en startdato, og en lukketdato.

Jeg vil hente ut en grafe som viser historikk for antall åpne saker pr dag.
Slik at jeg kan lage noen "fun-facts" som hviken dag i året vi hadde flest åpne saker. Samt tegne grafer som viser trender når i mnd vi har mest pågang, når på året etc etc..

Jeg hadde tenkt meg at queryen returnerte et data sett som ser slik ut:
dato|antall åpne saker
2010/01/01|5
2010/01/02|6
2010/01/03|3
Vis hele sitatet...
databasen er mssql 2008, og datofeltene er 'datetime'

Noen som kan hjelpe meg i gang her?

Jeg er på tynn is, men tror dette skal være mulig i en og samme query? Eller må jeg kjøre en for løkke i php som kjører query pr dag i året?
Seletct dato, count(*) from tabell group by dato
Sikkerhetsklarert
Trådstarter
Sitat av lor3ntz Vis innlegg
Seletct dato, count(*) from tabell group by dato
Vis hele sitatet...

Med en slik spørring vil jeg bare få antall saker som er åpnet eller lukket pr dag (alt ettersom hvilket datofelt jeg spør etter) Jeg er ute etter hvor mange saker som var åpne på gitt dato.
hva med WHERE date = '2010/01/01' group by dato
Sikkerhetsklarert
Trådstarter
Sitat av Nenzo Vis innlegg
hva med WHERE date = '2010/01/01' group by dato
Vis hele sitatet...
Ja, men dette vil kun gi de som er opprettet eller lukket på denne dato, men kjipt å kjøre en query pr dato.. Vil ta en del databasetid når det er snakk om et helt år f.eks.

må i såfall bruke "where "gittdato" => opendate and "gittdato" <= closedate" for å få de som var åpne på aktuell tid.
Sist endret av Pjukern; 10. september 2010 kl. 13:24.
Om det er databasetid som er casen kan du jo bare hente ut alle åpne saker i et gitt sett datoer, og så iterere gjennom matrisen i php og generere grafene der
Sitat av Pjukern Vis innlegg
Ja, men dette vil kun gi de som er opprettet eller lukket på denne dato, men kjipt å kjøre en query pr dato.. Vil ta en del databasetid når det er snakk om et helt år f.eks.

må i såfall bruke "where "gittdato" => opendate and "gittdato" <= closedate" for å få de som var åpne på aktuell tid.
Vis hele sitatet...
Det blir selvsagt en del spørringer, men det er snakk om ganske enkle spørringer, så burde ikke bli noe problem. Du kunne også laget en egen tabell i databasen som gjorde dette, og lagret i formatet du viste i første post, slik at du slapp å kjøre alle spørringene neste gang du skulle hente ut statistikken. En mellomlagringstabell med andre ord.

EDIT: Var bedre løsning som moridin sa. Første hente ut alle linjene, så summere opp for hver dato i php.
Sist endret av Toak; 10. september 2010 kl. 13:30.
Sikkerhetsklarert
Trådstarter
Sitat av moridin Vis innlegg
Om det er databasetid som er casen kan du jo bare hente ut alle åpne saker i et gitt sett datoer, og så iterere gjennom matrisen i php og generere grafene der
Vis hele sitatet...
men hvordan får jeg tak i alle åpne saker i et gitt sett datoer. Om jeg først har det så er jo saken grei.
Prøver igjen:
SELECT ÅpnetDato, count(*) FROM Tabell WHERE LukketDato IS NULL
Eventuelt med AND ÅpnetDato BETWEEN FraDato AND TilDato
Sikkerhetsklarert
Trådstarter


Da blir problemet det at lukketdato=NULL kun vil gi meg åpne saker.. F.eks vil jeg ikke "finne" en sak som er åpnet 5.juli og lukket 10.juli, da lukketdato ikke er NULL