【问题标题】:Database Sorting by Count数据库按计数排序
【发布时间】:2018-04-20 20:59:44
【问题描述】:

我有两张桌子

文件

File_ID
File_Name
OtherAttribute

喜欢

Like_ID
File_ID
User_ID

如何通过计算文件本身的相似度来对文件进行排序?

谢谢!

【问题讨论】:

    标签: php database sorting laravel-5


    【解决方案1】:

    为了按喜欢的次数排序,请尝试下面的查询。哪个会先计数,然后进行相应的排序

    Select f.* from FILE f 
    ORDER BY (SELECT count(Like_ID) as like_cnt FROM `Like` as `l` 
    WHERE l.File_ID = f.File_ID GROUP BY l.File_ID) DESC;
    

    DEMO

    【讨论】:

      【解决方案2】:
      SELECT 
          f.File_Name, COUNT(l.Like_ID) as FILE_LIKE 
      FROM 
          File f 
      LEFT JOIN Like l ON l.File_ID = f.File_ID 
      GROUP BY f.File_ID 
      ORDER BY FILE_LIKE
      

      【讨论】:

        【解决方案3】:
        Select * 
        
        from FILE F 
        
        ORDER BY (SELECT count(Like_ID) as like_cnt FROM 'Like' as 'l' 
        
        WHERE l.File_ID = F.File_ID GROUP BY l.File_ID) Asec;
        

        【讨论】:

        • 欢迎来到 Stack Overflow。请阅读How to Answer。带有解释的代码总是更有帮助。在用现有答案回答旧问题时尤其如此。这对已有的内容有何改进?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-30
        • 2016-01-08
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        • 2012-02-07
        相关资源
        最近更新 更多