Avatar billede 0verwrite Nybegynder
06. maj 2003 - 19:25 Der er 10 kommentarer og
1 løsning

GROUP BY YYYY-MM-DD

Jeg plejer at arbejde med timestamps, og er nu ved at afprøve datetime istedet (ser meget godt ud)

har dog et lille spørgsmål

stamp = datetime(0000-00-00 00:00:00)
users = Int(10)

Jeg vil så selecte sum(users) gruperet på dage den sidste måned eks.

dvs...

SELECT sum(users) FROM statistik GROUP BY ?
stamp(YYYY-MM) = '2003-05' eller lign?

Jeg vil altså selecte sum(users) for en hel måned
Avatar billede schaefner Juniormester
06. maj 2003 - 19:30 #1
Prøv:
SELECT SUM(users) AS antal FROM statistik WHERE SUBSTRING(posted,1,7) = '2003-05'");

Men vil du ikke tælle antal brugere?
Avatar billede schaefner Juniormester
06. maj 2003 - 19:30 #2
posted skal så lige være stamp
Avatar billede schaefner Juniormester
06. maj 2003 - 19:31 #3
SELECT SUM(users) AS antal FROM statistik WHERE SUBSTRING(stamp,1,7) = '2003-05'
Avatar billede 0verwrite Nybegynder
06. maj 2003 - 19:40 #4
her er en udvidet forklaring!

Jeg har et cronjob der gemmer hvor mange online users jeg har hver time
Jeg vil så i mit statistik system se eks. hvor mange der har været online hver måned... dvs select sum(users) hvor jeg grouper på måned

sql = mysql_query($query);
while ($r = mysql_fetch_assoc($sql)){
echo $month.": ".$r[total_for_denne_måned];
}

håber i forstår ved godt det er lidt kringlet forklaret!
Avatar billede schaefner Juniormester
06. maj 2003 - 19:41 #5
SELECT COUNT(*) AS antal FROM statistik WHERE SUBSTRING(stamp,1,7) = '2003-05'
Burde virke.
Avatar billede schaefner Juniormester
06. maj 2003 - 19:42 #6
så burde du få tallet ved at skrive:
echo "$r[antal]";
Avatar billede 0verwrite Nybegynder
06. maj 2003 - 19:46 #7
problemet er jeg jo så ikke sum() alle timerne og dage for den måned... jeg vil have et samlet antal (en sum af users for den enkelte måned)

WHERE SUBSTRING(stamp,1,7) = '2003-05'
giver mig alle timer og dage for den enkelte måned, derfor vil jeg groupe så jeg kun for en row retur med en total for selve måned(en/erne)
Avatar billede 0verwrite Nybegynder
06. maj 2003 - 19:48 #8
jeg vil have en GROUP på YYYY-MM, hvordan gøres det!?
Avatar billede schaefner Juniormester
06. maj 2003 - 19:51 #9
SELECT COUNT(DISTINCT(users)) AS antal FROM statistik WHERE SUBSTRING(stamp,1,7) = '2003-05'

Skulle gerne give antal unikke brugere i maj-måned.
Avatar billede 0verwrite Nybegynder
06. maj 2003 - 19:57 #10
Du har fuldstændig ret!
Jeg tænkte ikke lige klart tror jeg ;)

du mangler lige at give "svar" så jeg kan godkende
Avatar billede schaefner Juniormester
06. maj 2003 - 19:57 #11
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-Supporter til Svanemøllen

Unik System Design A/S

DevOps Engineer

Capgemini Danmark A/S

IGNITE Graduate Program 2026

Netcompany A/S

Senior Network Engineer