mysql - 如何使用具有最大投票值的 count() 检索图像路径值

标签 mysql sql

我的表架构是这样的:

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

如何检索所有具有最大赞成票的记录的 imagepath 及其 count()

在上面的例子中,我想检索 abcd.jpg & aec.jpg 计数为 2 条记录(有多少条记录匹配),因为它们都具有 upvote 的最大值(在本例中为 70)。

我目前通过以下查询检索最大投票 imagepath..

SELECT imagepath FROM uploadimage ORDER BY upvote DESC LIMIT 1

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

最佳答案

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

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

关于mysql - 如何使用具有最大投票值的 count() 检索图像路径值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19173894/

相关文章:

mysql - 使用 LEFT JOIN 从多个表中进行选择

Mysql - 使用主键作为外键

mysql - 使用 INSERT INTO 和 SELECT 将不同表中的不同行添加到另一个表中

sql - 在持续集成下删除和创建数据库的可靠方法

python - Django INNER JOIN 使用带有 WHERE 子句的外键

sql - 在mysql中计算5分钟间隔的平均值

php - sprintf() 中的 WHERE 子句

mysql - 合并两个查询

sql - 将本地数据库导出到azure sql数据库

php - 在 PDO 中将 1 行连接到多行