PHP MySQL(4.1)の質問です


テーブル
book_touhyou

フィールド
touhyou_id
touhyou_date(date型)
book_id
point


テーブル
book_info

フィールド
book_id
book_title
他多数


このような2つのテーブルがあります。
本に対して5段階で投票してもらい、そのたびにデータをbook_touhyouテーブルに蓄積していきます。投票のポイントはpointフィールドに入れます(1,2,3,4,5のどれかを)。2つのテーブルはbook_idで繋がっているとお考え下さい。
-------------
やりたい事
book_idが3の本に投票されたポイントの総数を求める
-------------

先ほど間違った質問文を投稿してしまいました。差し替え版です。ご指摘くださった方ありがとうございます。


みなさんよろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/03/17 08:38:40
  • 終了:2007/03/24 08:40:03

回答(2件)

id:esecua No.1

esecua回答回数510ベストアンサー獲得回数102007/03/17 09:35:54

ポイント35pt

え~っとごめんなさい、あまり質問をはっきりと理解できなかったのですが、book_idに3が入力されたレコードの全てのポイントの総計を求めるでよろしいのでしょうか?

SQLは

SELECT SUM( point ) AS totalbookpoint
FROM book_touhyou
WHERE book_id = '3'

これで totalbookpoint に総計が格納されるので、あとはPHPでそれを抜き取ってやります。

PHP

//省略
$row = mysql_fetch_array($res);
echo "総計 - ".$row['totalbookpoint'];

間違っていたらごめんなさい。

id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552007/03/17 16:15:02

ポイント35pt

一件単位の場合

select 
 book_title,book_id,sum(point) as sum
 from book_touhyou left join book_info using( book_id ) 
 where book_id=3 group by book_id

上位10件ポイント降順

全件検索になるので遅い

select 
 book_title,book_id,sum(point) as sump
 from book_touhyou left join  book_info using( book_id ) 
 group by book_id
 order by sump desc
 limit 10;

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません