Avatar billede MPVM Nybegynder
16. juli 2009 - 21:34 Der er 1 kommentar

Forespørgsel til MySQL

Hej Eksperter!

Jeg laver en side med spil og jeg vil gerne have mine spil til at blive sorteret efter hvor mange gange de er spillet.

Men så enkelt er det ikke fordi antallet af gange de er blevet spillet ligger i en anden tabel hvor hver række respræsentere 1 gang hvor spillet er blevet spillet. Derudover indeholder en række også information om hvad for et spil der er blevet spillet, hvornår og hvem der har spillet det.

Mine tabeller ser således ud:

tbl games:
id, link

id = Spillets id
link = link til spillet


tbl playedtimes
gid, time, user

gid = hvilket spil er blevet spillet
time = tidspunktet det er blevet spillet v.h.a. time()
user = ip adressen


Hvis jeg bare skulle sortere efter hvor mange gange de er blevet spillet, kunne jeg selv finde ud af det :)
Men jeg vil gerne kunne sortere efter:
mest spillet idag
mest spillet denne uge
mest spillet denne måned


Og så vil jeg også gerne sortere efter:
Spillet af dig
Spillet af alle

Det er nok at lave en forespørgsel til: spillet af alle, idag
og spillet af dig, idag. Kan selv ændre resten til

Håber der er nogen der er lidt glogere end mig :S

Tak på forhånd
Mathias
Avatar billede amite Mester
17. juli 2009 - 00:18 #1
// spillet af alle, idag

  SELECT link, COUNT(gid) AS played
  FROM games JOIN playedtimes ON games.id = playedtimes.gid
  WHERE `time` > DATE_SUB(CURDATE(),INTERVAL 1 DAY)
  GROUP BY link
  ORDER BY played
  DESC
  LIMIT 0, 10;


// spillet af dig, idag

  SELECT link, COUNT( user ) AS played
  FROM games
  JOIN playedtimes ON games.id = playedtimes.gid
  WHERE `time` > DATE_SUB(CURDATE(),INTERVAL 1 DAY)
  AND `user` = "22.2.2.2"
  GROUP BY link
  ORDER BY played
  DESC
  LIMIT 0 , 10;
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