Zit ff met klein probleempje, maar volgens de mensen in de koffiehoek groot genoeg om topic van te maken. Ik heb een vote systeem waarmee je per challenge op een bepaalde style kan voten(styles staan in aparte tabel ofc). Nu wil ik per challenge het challenge_id en de style_id, naam en shortcode van de meest gevote style hebben.
Zo ver ben ik gekomen:
Hier krijg ik echter nog bijvoorbeeld zoiets terug:
345;1;2;"FullSpeed";"fs"
345;2;1;"Tech";"t"
Dus 2 styles van een challenge, eentje daarvan heeft 1 vote(fullspeed) en 1 heeft er 2(Tech). Ik wil dus dat ie alleen maar Tech zou teruggeven en die hele fullspeed row er niet inzit. Met LIMIT werken heeft geen zin want er zitten natuurlijk meerdere challenges in de database. Ook wil ik niet voor iedere challenge een aparte query gaan uitvoeren, dus, hoe doe ik dit?
Oh, en mocht het uitmaken: ik gebruik postgresql als database
Zo ver ben ik gekomen:
SQL:
1
2
3
4
| select sv.challenge_id AS cid, count(*) as cnt, sv.style_id, st.stylename, st.styleshortcode from stylevote AS sv, style AS st where sv.style_id=st.style_id group by sv.style_id , st.styleName , st.styleShortCode, sv.challenge_id |
Hier krijg ik echter nog bijvoorbeeld zoiets terug:
345;1;2;"FullSpeed";"fs"
345;2;1;"Tech";"t"
Dus 2 styles van een challenge, eentje daarvan heeft 1 vote(fullspeed) en 1 heeft er 2(Tech). Ik wil dus dat ie alleen maar Tech zou teruggeven en die hele fullspeed row er niet inzit. Met LIMIT werken heeft geen zin want er zitten natuurlijk meerdere challenges in de database. Ook wil ik niet voor iedere challenge een aparte query gaan uitvoeren, dus, hoe doe ik dit?
Oh, en mocht het uitmaken: ik gebruik postgresql als database