0

我正在尝试显示表格中的项目并按喜欢的数量对它们进行排序。喜欢在另一张桌子上,这让我很困惑。第一个表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

如果您能帮助我解决我的问题,我将不胜感激。

4

2 回答 2

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)
于 2013-01-20T19:42:39.397 回答
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图像 url 和ordered喜欢的descending数量。

于 2013-01-20T19:44:01.287 回答