単純な問題があります。mysql テーブルが 2 つあり、1 つは写真を保存し、もう 1 つは「いいね」を保存します。構造は次のとおりです:
リーリー「いいね!」の数に応じて写真を並べ替え、上位 3 つを取得することが非常に簡単になりました。次のクエリ ステートメントを使用できます:
リーリーしかし、時間的な相関関係を追加したいと思います。つまり、新しいいいねの「重み」が高くなります。たとえ一部の写真のいいねの数が多くても、それらは古いため、いいねの数は少ないが新しい写真よりもランクが低くなります。
MySQL だけを使用してこの問題を解決することは可能ですか?それとも、PHP で追加の処理が必要ですか?
リーリー好きな状況を考えてみましょう。
timestampは UNIXTIME フィールドであるため、新しいいいね数を計算する代わりに SUM(timestamp) を使用すると、より多くの重みが与えられます。 リーリー
一部の係数を使用できます (UNIX_TIMESTAMP() など)