webForumDet fria alternativet

SUM i order fungerar inte

1 svar · 209 visningar · startad av Asterix

AsterixMedlem sedan dec. 1999483 inlägg
#1

Uttrycket under fungerar inte och vad jag har förstått så är det pga SUM efter order by. Finns det något annat sätt att göra det jag vill. Hoppas att ni fattar enbart med hjälp av Select satsen annars får ni säga till. Här kommer satsen:
SELECT spel.id, spel.name, spel.konsol, spel.price, spel.release, spel.genre, spel.rea from spel LEFT JOIN p_order ON p_order.prod_id = spel.id GROUP BY spel.id WHERE spel.konsol = '$_konsol' and spel.genre != '10' ORDER BY SUM(p_order.antal) DESC LIMIT 20

------------------
/Emil Hesslow

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Din group by, som du har smugit in där på fel plats, ställer nog också till det. Jag skulle nog skriva något så här istället

SELECT sum(case when p_order.antal is null then 0 else p_order.antal end) as antal ,
spel.id, spel.name, spel.konsol, spel.price, spel.release, spel.genre, spel.rea
  from spel LEFT JOIN p_order ON p_order.prod_id = spel.id 
WHERE spel.konsol = '$_konsol' and spel.genre <> '10' 
GROUP BY spel.id,spel.name, spel.konsol, spel.price, spel.release, spel.genre, spel.rea  
ORDER BY 1

------------------
essentitia preter non sans multiplicandum

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