我正在尝试显示表格中的项目,并按喜欢的次数排序。喜欢在另一张桌子上,这让我很困惑。第一个表images
如下所示:
images
id url
1 blablabla.jpg
2 hejhej.png
3 picture.jpg
第二个likes
看起来像这样:
likes
id image
1 2
2 2
3 1
4 3
5 2
现在我希望大多数人喜欢这些图片。我在查询中写什么来使它看起来像这样?:
hejhej.png - 3 likes
blablabla.jpg - 1 like
picture.jpg - 1 like
如果你能解决我的问题,我真的很感激。
答案 0 :(得分:1)
SELECT url, COUNT(likes.id) as likes
FROM images, likes
WHERE likes.image = images.id
GROUP BY images.id
ORDER BY likes DESC
要仅获取过去24小时内的记录,请将其添加到您的查询中:
WHERE likes.date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
答案 1 :(得分:0)
SELECT
url,
COUNT(likes.id) Likes
FROM
images,
likes
WHERE
likes.image = images.id
GROUP BY
images.url
ORDER BY
Likes DESC
您可以按FROM
顺序选择grouped by
两个表格,ordered
图片网址和descending
相似数量。