人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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の本に投票されたポイントの総数を求める
-------------

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


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

●質問者: tokyosmash
●カテゴリ:インターネット ウェブ制作
✍キーワード:MySQL PHP point ありがとうございます データ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● esecua
●35ポイント

え?っとごめんなさい、あまり質問をはっきりと理解できなかったのですが、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'];

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


2 ● kurukuru-neko
●35ポイント

一件単位の場合

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;
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ