簡體   English   中英

如何在php mysql中找不到具有相同值的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM