webForumDet fria alternativet

(My)SQL-fråga (join?)

2 svar · 262 visningar · startad av stevenet

stevenetMedlem sedan juni 20001 251 inlägg
#1

Jag har två MySQL-tabeller (3.23.38) som ser ut såhär:

gopeking_malgorare
id, pid, mid
primär nyckel, spelarid, matchid

gopeking_artikel
id, tid
primär nyckel, tid i unix timestamp-format.

Listning av målgörare sker på följande sätt:

<?php
$result = mysql_query("SELECT COUNT(*), pid FROM gopeking_malgorare GROUP BY pid") or die(mysql_error());

while ($rad  = mysql_fetch_row($result)) {
echo "spelare med id {$rad[1]} har gjort {$rad[0]}";
}
?>

Nu till problemet, jag vill bara ha med mål som spelaren gjort i matcher denna säsong. Jag har två variabler för att definiera intervallet, båda i unix timestamp, $start och $slut. Själva tiden (gopeking_artikel.tid) finnes där gopeking_molgorare.mid=gopeking_artikel.id.

Halvkod:
Markera pid och antal poster i gopeking_malgorare där gopeking_malgorare.mid=gopeking_artikel.id och gopeking_artikel.tid inom intervallet $start och $slut.

aasahMedlem sedan mars 20034 471 inlägg
#2

Re: (My)SQL-fråga (join?)

Förstår tyvärr inte riktigt vad du vill göra, säkert jag som är trög...
Och så undrar jag hur malgorare ser ut egentligen?

gopeking_malgorare
id, pid, mid
primär nyckel, spelarid, matchid

gopeking_artikel
id, tid
primär nyckel, tid i unix timestamp-format.

...

Nu till problemet, jag vill bara ha med mål som spelaren gjort i matcher denna säsong. Jag har två variabler för att definiera intervallet, båda i unix timestamp, $start och $slut. Själva tiden (gopeking_artikel.tid) finnes där gopeking_molgorare.mid=gopeking_artikel.id.

Primärnyckeln i artikel ligger i tabellen så som du skrivit, medan spelarid, matchid inte matchar dina listade kolumner i malgorare? mid=matchid? Vad är i så fall lika med spelarid? Eller har du 5 kolumner och inte 3? :q

Vad är det som ska ligga i intervallet $start, $slut? :q

stevenetMedlem sedan juni 20001 251 inlägg
#3

gopeking_malgorare
id=primärnyckel
pid=spelarid
mid=matchid

gopeking_artikel
id=primär nyckel,
tid=tid i unix timestamp-format.

$start=timestamp för säsongsstart
$slut=timestamp för säsongsslut

gopeking_artikel.tid måste ligga i intervallet för att målet ska räknas med.

130 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)