Hallo,
Kan iemand mij helpen? Ik heb een tabel en die ziet er als volgt uit:
projectgereedschap_id, project_id, gereedschap_id en punten
Nu wil ik uit een query krijgen alle gereedschappen met de meeste punten
en de daarbij horende project_id. Alleen krijg ik dat niet voor elkaar. Op dit moment heb ik:
SELECT project_id, max( punten) as max_punten FROM `projectschakeltabel` GROUP BY gereedschap_id
Alleen hiermee krijg ik BIJNA wat ik nodig heb. alleen de output van project_id hoort haalt die alleen uit de bovenste rijen van de database tabel. Wie kan zo zien wat ik fout doe?
SELECT project_id, max( punten) as max_punten FROM `projectschakeltabel` GROUP BY gereedschap_id
<?php
$sql = mysql_query("SELECT * FROM `projectschakeltabel` GROUP BY gereedschap_id ORDER BY punten DESC") or die (mysql_error());
while($row = mysql_fetch_assoc($sql))
{
echo "[".$row['gereedschap_id'].",".$row['product_id']."]";
}
?>
Weet je misschien ook hoe ik hier nu per gereedschap_id, alleen de rijen kan selecten met de hoogste/MAX punten, zodat de goede project_id hier wel bij komt te staan?.
ik heb het op het moment nu zo opgelost eerst een query die alle gereedschap id's ophaalt.
en dan per gereedschap_id nog een query die er als volgt uitziet
$sql = "SELECT project_id, gereedschap_id, punten
FROM bq_schakel_projectgereedschap
WHERE gereedschap_id LIKE '".$gereedschap_id"'
ORDER BY punten DESC
LIMIT 1 ";
Nu krijg ik per gereedschap de hoogste punten en het daarbijhorende project_id, dit is vast niet de beste manier om dit op te lossen, zo met 2 aparte queries. Maar het werkt nu wel zo. Als iemand nog een strakkere oplossing weet. hoor ik die graag