Hallo,
irgendwie steh ich auf dem Schlauch...
ich habe 2 tabellen:
- tab1 (id)
- tab2 (id, tab1_id, pkt, monat, jahr)
in tab1 sind daten zu bildern gespeichert
in tab2 sind die bewertungen zu den bildern gespeichert
jetzt möchte ich die 10 bilder mit der höchsten bewertung abwärts sortiert ausgeben. leider scheint dies online nicht korrekt zu funktionieren.
habe es offline wie folgt gelöst, wo es funktioniert:
kann es an verschiedenen mysql-versionen liegen?
- online: server-version 4.0.25
- offline: server-version 5.0.37
irgendwie steh ich auf dem Schlauch...
ich habe 2 tabellen:
- tab1 (id)
- tab2 (id, tab1_id, pkt, monat, jahr)
in tab1 sind daten zu bildern gespeichert
in tab2 sind die bewertungen zu den bildern gespeichert
jetzt möchte ich die 10 bilder mit der höchsten bewertung abwärts sortiert ausgeben. leider scheint dies online nicht korrekt zu funktionieren.
habe es offline wie folgt gelöst, wo es funktioniert:
PHP-Code:
SELECT *, (SELECT SUM(pkt) FROM tab2 WHERE tab1_id=B.tab1_id AND B.monat='".date("m")."' AND B.jahr='".date("Y")."') AS punkte,
(SELECT COUNT(*) FROM tab2 WHERE tab1_id=B.tab1_id AND B.monat='".date("m")."' AND B.jahr='".date("Y")."') AS stimmen
FROM tab2 AS B, tab1 AS G
WHERE B.tab1_id=G.id AND B.monat='".date("m")."' AND B.jahr='".date("Y")."' AND B.pkt>0
GROUP BY B.tab1_id ORDER BY punkte/stimmen DESC LIMIT 10
- online: server-version 4.0.25
- offline: server-version 5.0.37
Kommentar