我有一个带投票功能的图片库,我正在尝试显示数据库中每张图片的投票数。
我有一个带有以下内容的投票表......
vote_id │ user_id │ session_id │ ip │ created_date │ status
我想要显示每张图片的投票数(每页几张图片),但每张ip只有1张投票,而且只在最后一周(周一到周日)。
当涉及到这类事情时,我不是天才,但这是我迄今为止能够在SQL中获得结果的能力。我一直试图将它实现到PHP中... ...
SELECT COUNT(DISTINCT ip) AS Votes FROM 'vote'
(我知道它基本但你去了)
答案 0 :(得分:2)
你必须对数据进行分组:
group by ip, week(created_date)
答案 1 :(得分:2)
这是:)
SELECT COUNT(DISTINCT ip) AS Votes, WEEK(created_date) AS week_num FROM 'vote'
group by WEEK(created_date)
order by week_num DESC
答案 2 :(得分:0)
你应该在投票表中有一个像image_id这样的列。然后,您可以通过此查询完成此操作。
SELECT image_id, COUNT(DISTINCT ip) AS Votes FROM vote GROUP BY image_id