2011-12-28 88 views
1

我有一个带有投票功能的图片库,我试图从数据库中显示每张图片的投票数。从投票表Echo SQL查询

我有一个投票表具有以下...

vote_id │ user_id │ session_id │ ip │ created_date │ status 

我试图让每个图像显示(每页几个图像)的票数,但每个IP只能投1中和仅在上周(周一至周日)。

当谈到这种事情时,我不是一个天才,但这是我迄今为止能够获得SQL结果的能力。我已经变得有点粘努力落实到PHP ...

SELECT COUNT(DISTINCT ip) AS Votes FROM 'vote'(我知道它的基本的,但你去)

+2

如果你想拿到票为每个图像的数量,其中存储在image_id? – cppcoder

+0

图像ID存储在一张表“图像” –

+0

所以你怎么知道哪张投票是哪个图像? –

回答

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

你要组数据:

group by ip, week(created_date)

+0

我有'SELECT COUNT(DISTINCT ip)AS Votes,(SELECT WEEK(created_date)AS week_num FROM tcs_vote WHERE week_num = $ weekNumber AND week_num =('$ weekNumber'));''但它提出了错误代码:1054.'字段列表'中的未知列'ip'? –

+0

检查你的括号:... AS投票,(选择... –

0

你应该有这样的投票表image_id列。然后您可以通过此查询完成此操作。

SELECT image_id, COUNT(DISTINCT ip) AS Votes FROM vote GROUP BY image_id