我想要發生的事情是先由parentid分組,然後按位置分組,這是我做的。在該組中,我希望顯示最高評分的名稱,但這並未發生。而是顯示每個組的最低ID。結果應該是tv1,tv3,tv5,tv7;因爲這些是每組最高的評估值。Mysql查詢最大不能正常工作
id | name| parentid| position| rating |
1 | tv1 | 1 | 1 | 6 |
2 | tv2 | 1 | 2 | 5 |
3 | tv3 | 1 | 2 | 7 |
4 | tv4 | 1 | 2 | 3 |
5 | tv5 | 5 | 1 | 8 |
6 | tv6 | 5 | 1 | 2 |
7 | tv7 | 3 | 1 | 9 |
8 | tv8 | 3 | 1 | 3 |
$getquery = mysql_query("SELECT name,MAX(rating) FROM outcomes GROUP BY position,parentid") or die(mysql_error());
while($row=mysql_fetch_assoc($getquery)) {
$name = $row['name'];
$rating = $row['rating'];
echo "<p>Name: $name - $rating</p><p></p>";
}
謝謝,你會如何建議我解決這個問題? – user892134 2012-02-27 18:15:00
我已經更新了答案,添加了一個適用於您的查詢 – 2012-02-27 18:21:26
感謝它的運作。如果他們的重複最高收視率爲一組?我將如何只有一行返回,而不是所有的重複? – user892134 2012-02-27 18:26:25