FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej,
Jag sitter och skriver ett statistikprogram som samlar data från olika källor vid en regelbunden tid (ex. var femte minut). Det samlar värden från en chattserver jag driver såsom antal användare inloggade, antal vakter inloggade men även ram och cpu-förbrukning. Insamlingen i sig är inga problem men jag sitter fast på hur jag lättast ska hämta datan från tabellerna. Jag har två tabeller: irc och sys (irc sparar data såsom antal inloggade medan sys sparar om ramminne osv). Förenklat så vill jag kunna hämta högsta värdet av en kolumn per dygn. Att hämta för ett specefikt datum är enkelt, t.ex: Kod:
select id,date, users from irc where year(date) = 2007 and month(date) = 07 and dayofmonth(date) = 14 order by users desc limit 0,1 Kod:
+------+---------------------+-------+ | id | date | users | +------+---------------------+-------+ | 1087 | 2007-07-14 00:20:01 | 369 | +------+---------------------+-------+ Men för att få statistik för t.ex. en vecka, en månad eller ett år vill jag göra en fråga som ger min högst antalet användare nedbrutet per dag, alltså första raden visar högsta antal användare dag 1, andra radern visar högsta antal användare dag 2, osv. Kort sagt: Kod:
+-----------------+---------- + | id |date | users | +-----------------+-----------+ | 1087 | 2007-07-14 | 369 | | 1387 | 2007-07-15 | 378 | | 1467 | 2007-07-16 | 323 | +----------------+------------+ Då det är mycket som ska gås igenom kommer förfrågan antagligen bli rätt tung, detta i sig är nog inget större problem då dem egentligen bara behöver köras en gång per dygn (sedan kan man antingen spara det i cache eller helt enkelt skriva till en fil) All hjälp skulle uppskattas, Mvh/ Niklas |
||
![]() |
![]() |
|
|