[英]How to find no of rows with same value in php mysql
我有一張帶有event_id和image_id的表。 我想在此表中找到具有相同值-> max的行數。
表示此表中的輸出應為:1508706279-> image_id 4->行數
這是我的桌子。
下面是我嘗試過的代碼。
$sql2 = "select image_id, COUNT(*) as count from user_likes where event_id = '$id' GROUP BY image_id";
if($result2 = mysqli_query($conn, $sql2)) {
$result1 = mysqli_fetch_array($result2);
$win = $result1['image_id'];
$count = $result1['count'];
}
現在,我不明白是什么問題,但是當id在52到60之間的行顯示輸出時,此代碼可以正常工作:
1508706279-> image_id 4->行數
但是當我再添加兩行ID為64和65的行時,它會顯示輸出:
818525590-> image_id 1->行數
幫助我解決我在這里犯的錯誤!!
您的查詢返回image_id和count的集合。 集合沒有排序,因此如果需要按count(*)desc進行最大嘗試排序,則可以選擇第一個集合
$sql2 = "select image_id, COUNT(*) as count
from user_likes
where event_id = '$id'
GROUP BY image_id
ORDER BY count(*) DESC";
如果只需要一行,則可以限制為1
$sql2 = "select image_id, COUNT(*) as count
from user_likes
where event_id = '$id'
GROUP BY image_id
ORDER BY count(*) DESC LIMIT 1";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.