[sql] Table wel efficient genoeg?

Pagina: 1
Acties:

  • Stimp
  • Registratie: Februari 2002
  • Laatst online: 23-02-2022
Ik heb in mijn db een table staan waarin ik per ip bijhoudt, welke os en browser gebruikt worden. Nu wil ik deze gegevens zo ongeveer uit mijn db laten rollen:

code:
1
2
3
4
5
6
os
---------
os 1 [10 bezoekers]
os 2 [7 bezoekers]
os 3 [3 bezoekers]
enz..

Mijn probleem is nu dat ik in 1 query wel alle os´e onder elkaar krijg, maar niet gesorteerd op hoeveel keer die os in de table voorkomt. En later moet ik ook nog eens in een loop per os nog een query laten uitvoeren.

Dit gebruik ik nu om alles uit mn table te halen:
PHP:
1
2
3
4
5
6
$query = "SELECT 
              browser
          FROM 
              stats
          GROUP BY 
              browser";

Ik heb geprobeerd om een combinatie can count() en group by te gebruiken.. maar dat werkt niet.. (eigenlijk logisch).

Ik weet niet of ik een functie over het hoofd zie waarmee dit kan, of dat mijn opbouw van de table gewoon fout is. :Y)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

code:
1
2
select browser, count(*) as count 
from stats group by browser order by count desc;


Creatief met sql :)

  • Stimp
  • Registratie: Februari 2002
  • Laatst online: 23-02-2022
woei :D.. zoiets creatiefs was ik naar opzoek inderdaad..

Maar nu.. als ik dus nog iets wil doen met de aantallen, moet ik dus in een while loop elke keer een aparte query uitvoeren. Is dit wel efficient?

Verwijderd

Probeer de minimale hoeveelheid gegevens die je nodig hebt op te halen met SQL in 1 query. Daarna zal je eventueel zelf in code de resultaten moeten transformeren om het gewenste resultaat te krijgen.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Wat wil je dan doen met die getallen, want je kunt bijna alles in 1 query krijgen als je het wilt.

  • Stimp
  • Registratie: Februari 2002
  • Laatst online: 23-02-2022
ik wil bijvoorbeeld daarna, bijvoorbeeld het aantal procenten Windows uitrekenen. Het lukt me nu als ik bij elke os opnieuw een query uitvoer om te tellen hoeveel bezoekers er zijn met dat bepaald os.

Verwijderd

Haal de aantallen met 1 query op, en bereken de procenten met code. Als alternatief kan je 2 queries gebruiken, 1 om het totaal op te halen, en daarna 1 met de aantallen per OS, waarbij je in de query het percentage berekent.
Pagina: 1