如何列出用户收到的所有评分

时间:2015-10-13 05:48:28

标签: mysql sql join

我有3张桌子

吸引用户和评分

用户包含user_id,draw包含绘图的ID和user_id谁是该绘图的所有者,在评级表中我保存给出评级的用户,draw_id和给出的分数。现在我需要向用户列出他收到的投票,所以我需要在收视率表中查看哪些用户投票了他的抽奖,但我不知道如何,因为我试过的查询仅列出了我1记录,我需要所有记录。

这样的事情:

5星|画名|用户

4星|画名|用户

这是我迄今为止的查询,我的目的是显示投票最多的用户,但不是这个。

SELECT u.usuario, u.id_usuario, d.id, COUNT(v.id) AS votos
FROM valoraciones v
JOIN dibujos d ON v.id_dibujo = d.id
JOIN usuarios u ON v.id_quien = u.id_usuario GROUP BY v.fecha ORDER BY votos DESC

这让我发疯了。

感谢任何帮助

1 个答案:

答案 0 :(得分:1)

好的,这里的一些人认为发布一个帖子很有趣,我发布解决方案因为我知道它可能会有所帮助。

这是我构建的查询:

SELECT u.usuario, u.id_usuario, d.id, v.valoracion, v.fecha
FROM icar_valoraciones v
JOIN icar_dibujos d ON v.id_dibujo = d.id
JOIN icar_usuarios u ON v.id_quien = u.id_usuario WHERE d.id_quien = '{ID OF THE USER LOGGED IN}' GROUP BY v.id ORDER BY v.fecha DESC

你可以在这里找到它=> http://sqlfiddle.com/#!9/b44fe/2