我需要为我的项目创建一个 mysql 查询,这对我的范围来说有点太复杂了......
所以,我有一个带有 id 和时间戳列的图像表,以及元数据列
我还有一个“loves”表,其中包含 id、imageid、userid 和 timestamp 列
(用户 ID 在这里并不重要)
目前,我正在使用 LEFT JOIN 按喜欢的总数对图像进行排序
相反,我现在想做的是按图像的每日平均喜欢对图像进行排序。
因此,今天创建的具有 5 个相关联的赞的图像应该位于 5 天前创建的具有 20 个相关联的图像之前。
甚至不知道如何开始处理这个问题,你们中的任何一位 SQL 大师有什么想法吗?干杯。
编辑:
使用此查询
SELECT images.*,
COUNT(loves.id) AS num_loves
FROM images
JOIN loves ON (images.id = loves.imageid)
GROUP BY images.id
ORDER BY num_loves/DATEDIFF(images.timestamp,CURDATE())
DESC LIMIT 0 , 24
收到此错误
Reference 'num_loves' not supported (reference to group function)
仍在掌握 MySQL 语法...