rank
同じテーブルの値に基づいて、テーブル内のすべてのレコードのフィールドを更新するクエリを作成しようとしています。
SELECT
ランクを計算する実用的なクエリを取得することができましたが、それを に変換するのに苦労していUPDATE
ます。これはクエリです:
SELECT
((views_count + comments_count) * (172800 / elapsed)) AS rank
FROM (
SELECT
p.views_count,
(UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(p.createdAt)) AS elapsed,
(SELECT COUNT(*) FROM `comments` AS c WHERE c.photo_id = p.id) AS comments_count
FROM `photos` AS p
) AS m
UPDATE
各レコードのrank
値を更新するために、クエリにどのように埋め込むことができますか?
ありがとう!:)
編集:
私のDB構造:
[Photo]
id
user_id
views_count
rank
createdAt
[Comment]
id
photo_id
content