3

我的表架构是这样的:

id   ||   imagepath || upvote || downvote

1    ||   abc.jpg   || 50      ||  5
2    ||   abcd.jpg  || 70      ||  1
3    ||   adc.jpg   || 40      ||  4
4    ||   aec.jpg   || 70      ||  4
5    ||   afc.jpg   || 40      ||  4

如何使用 max upvote 及其count()检索所有记录的图像路径

在上述情况下,我想检索abcd.jpgaec.jpg,计数为2 条记录(匹配多少条记录),因为它们的最大值均为upvote, (在本例中为70)。

我目前通过以下查询检索 max upvote imagepath ..

SELECT imagepath FROM uploadimage ORDER BY upvote DESC LIMIT 1

是否可以通过使用 join 或其他方式?

4

2 回答 2

2
select imagepath from uploadimage
where upvote in (
   select max(upvote) from uploadimage
)

这实际上将返回两条记录,每条记录都包含图像路径。你怎么能期望计数也返回?我没有意义,因为计数是记录的数量。

于 2013-10-04T05:32:12.607 回答
0
select * from uploadimage
where upvote = (select max(upvote) from  uploadimage)

SQL小提琴

于 2013-10-04T05:40:41.290 回答