1

投票機能を備えた画像ギャラリーがあり、データベースから各画像の投票数を表示しようとしています。

次の投票テーブルがあります...

vote_id │ user_id │ session_id │ ip │ created_date │ status

表示する各画像の投票数(ページごとに複数の画像)を取得しようとしていますが、IPごとに1票のみで、先週(月から日)のみです。

私はこの種のことに関しては天才ではありませんが、SQL で結果を得るためにこれまでにできたことです。私はそれをPHPに実装しようとして少し立ち往生しています...

SELECT COUNT(DISTINCT ip) AS Votes FROM 'vote'(私はその基本を知っていますが、そこに行きます)

4

3 に答える 3

2

データをグループ化する必要があります:

group by ip, week(created_date)

于 2011-12-28T15:54:58.130 に答える
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

于 2011-12-28T16:09:40.173 に答える
0

投票テーブルに image_id のような列が必要です。次に、このクエリでこれを実現できます。

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

于 2011-12-28T16:12:29.193 に答える