最喜欢的照片

时间:2018-11-08 20:06:27

标签: mysql sql

我正在尝试在我的数据库中找到最喜欢的照片。有PHOTOS,LIKES,USERS表。我试图找到最喜欢的照片和用户,他们只用LIKES和USERS发布了图片,却出现了错误。

SELECT 
    users.username,
    photo_id,
    COUNT(*) AS most_liked
FROM
    likes
    INNER JOIN users ON users.id=likes.user_id
GROUP BY
    photo_id
ORDER BY
    most_liked DESC
LIMIT
    1;
  

错误1055(42000):SELECT列表的表达式#1不在GROUP BY子句中,并且包含未聚合的列ig_clone.users.username,该列在功能上不依赖于GROUP BY子句中的列;这与sql_mode = only_full_group_by

不兼容

我可以只使用2张桌子吗?还是应该使用3rd张桌子?

1 个答案:

答案 0 :(得分:1)

您需要使用子查询来查找最喜欢的照片(仅使用filterMessages表)与实际照片信息(来自[HttpGet])表分开,然后将其与{ {1}}。我假设您的likes表中有一个photos列。

users