我想在我的数据库里找到最喜欢的照片。有照片,喜欢,用户表。我试图找到最喜欢的照片和用户谁发布的照片,只有喜欢和用户,得到了一个错误。
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Šu clone.users.username”,该列在功能上不依赖于group by子句中的列;这与sql\u mode=only\u full\u group by不兼容
我可以只用两张table吗?还是应该用第三张table呢?
1条答案
按热度按时间laximzn51#
您需要使用子查询来查找最喜欢的照片(仅使用
likes
表)与实际照片信息分开(从photos
)表-然后连接到users
. 我想你的photos
表有一个user_id
列。