Jag får syntax fel på den här Queryn:
$query = "SELECT a.*, b.*, IF COUNT(b.points)>= 0 AVG(b.points) AS meanvalue ELSE meanvalue = 'Inga röster, än' AND COUNT(points) AS totalpoints
FROM songs a LEFT JOIN votes b ON a.id = b.songid
IF Count(b.points)>= 0 WHERE a.active = 1 AND b.unix>= '$chosedtimeX' ELSE WHERE a.active = 1
ORDER BY meanvalue DESC
LIMIT 100";
Den är väl rätt? Det jag vill att den ska göra är att om det finns över 0 (1 och upp) röster från b (b.points) så ska det ska ett medel räknas ut på AVG(b.points) AS meanvalue, men om det inte finns några röster så ska det så "Inga röster, än". Sen vill jag även om det finns röster så ska de kunna sortera på tid (b.unix>= '$chosedtimeX') och om låten är aktiv (a.active = 1) men om det inte finns det ska det enbart sorteras på om låten är aktiv (a.active = 1 ). Min query är alltså rätt efter mina önskemål?
Har uppdaterat queryn, dock fungerar den inte
$query = "SELECT a.*, b.*, IF COUNT(b.points)>= 0 AVG(b.points) AS meanvalue AND COUNT(b.points) AS totalpoints ELSE meanvalue = 'NO VOTES' AND COUNT(b.points) AS totalpoints
FROM songs AS a LEFT JOIN votes AS b ON a.id = b.songid
IF COUNT(b.points)>= 0 WHERE a.active = 1 AND b.unix>= '$chosedtimeX' ELSE WHERE a.active = 1
ORDER BY meanvalue DESC
LIMIT 100";
Spelnyheter från FZ
Copyright © 1999–2025 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.