You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取点赞量最高图片的PID?现有尝试仅返回点赞数

获取点赞量最高图片的PID解决方案

嘿,我来帮你搞定这个问题!结合你提到的mini instadb的likes表(推测表结构是每条记录对应一个用户对某张图片的点赞,包含pid字段存储图片ID),你之前只拿到点赞数没拿到PID,是因为没把图片ID和统计的点赞数关联起来筛选。

这里给你两种实用的SQL写法:

方法1:获取单张点赞最高的图片(若有并列最高,仅返回第一条)

适合只需要任意一张点赞数最高图片的场景,通过GROUP BY统计每个图片的点赞数,按点赞数倒序排序后取第一条:

SELECT pid, COUNT(*) AS total_likes
FROM likes
GROUP BY pid
ORDER BY total_likes DESC
LIMIT 1;

方法2:获取所有点赞数并列最高的图片

如果存在多张图片点赞数相同且都是最高值,用这种写法可以把它们全部查出来:

SELECT pid, COUNT(*) AS total_likes
FROM likes
GROUP BY pid
HAVING COUNT(*) = (
    -- 子查询先计算出所有图片中的最高点赞数
    SELECT MAX(like_count)
    FROM (
        SELECT COUNT(*) AS like_count
        FROM likes
        GROUP BY pid
    ) AS temp_counts
);

为啥之前只拿到点赞数?

大概率是你之前的查询只计算了最高点赞数的数值,没关联对应的pid。比如如果只写SELECT MAX(like_count) FROM (SELECT COUNT(*) AS like_count FROM likes GROUP BY pid) AS temp,就只能得到最高点赞数,而拿不到对应的图片ID。上面两种写法都把pid和统计的点赞数绑定在一起,就能得到你需要的PID啦。

内容的提问来源于stack exchange,提问作者Avinash Ubale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:47:38