我暂时没有使用纯mySQL,看起来我忘了它.悲剧.现在我有2张桌子 - 图像和投票.图像具有独特的ID等.投票表只有2个字段 - 图像ID和用户ID.
我正在尝试按照投票数量排列图像列表,我有点卡在这里.我得到的最接近的是:
SELECT i.uname AS author, i.title, i.time, i.description, i.id, i.extension, v.uid
FROM images as i
LEFT JOIN
votes as v ON i.id = v.iid
Run Code Online (Sandbox Code Playgroud)
使用选民ID返回所有图像.如果图像有多个投票,则不止一次返回.
有人可以帮我解决这个问题吗?
你需要使用COUNT和GROUP BY:
SELECT i.uname AS author, i.title, i.time, i.description, i.id, i.extension, COUNT(v.uid)
FROM images as i
LEFT JOIN votes as v ON i.id = v.iid
GROUP BY i.uname, i.title, i.time, i.description, i.id, i.extension
ORDER BY Count(v.uid) DESC
Run Code Online (Sandbox Code Playgroud)
正如所建议的那样,你没有GROUP BYMySQL中的所有输出字段 - 只需使用你的唯一标识符,在本例中是i.id.
| 归档时间: |
|
| 查看次数: |
41 次 |
| 最近记录: |