のは、私は(これは単なる簡単な例ですが、私が話している実際のテーブルにははるかに複雑である)このようなテーブルがあるとしましょう:投票テーブル内の行の位置を計算
CREATE TABLE media (
id INT NOT NULL AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
description TEXT NOT NULL,
voted INT NOT NULL DEFAULT 0,
rating FLOAT NOT NULL DEFAULT 0
) ENGINE = INNODB;
カラムはアイテムが受け取った投票の数を表し、の評価はカラムはアイテムの合計評価を表します。
SELECT m.* FROM media AS m WHERE id = 5;
しかし、加えて、私はに基づいて、この行の位置を計算したい:私がやりたいことは、IDに基づいて、テーブルから単一の項目を選択するようなものである今
、 定価の列に追加して、それを追加の列として呼び出すと、site_rankが呼び出されるとします(行の評価が高いほどsite_rankは高くなります)。私の推測では、これはsubselectクエリで達成できるが、私はそれを行う方法がわからない。
助けが必要ですか?
頻繁に更新されるSite_Rank列を実装することをおすすめしますか?おそらくもっと簡単だろう。 –
あなたは1つの非常に大きなデータベース呼び出し(またはより小さなもの)を行い、それぞれを更新します。そして、5分ほど何もする必要はありません。 –