ホームページ  >  に質問  >  本文

再タイトル: MySQL で「いいね!」の数と時間の相関関係に基づいてテーブルを並べ替えるにはどうすればよいですか?

単純な問題があります。mysql テーブルが 2 つあり、1 つは写真を保存し、もう 1 つは「いいね」を保存します。構造は次のとおりです:

リーリー

「いいね!」の数に応じて写真を並べ替え、上位 3 つを取得することが非常に簡単になりました。次のクエリ ステートメントを使用できます:

リーリー

しかし、時間的な相関関係を追加したいと思います。つまり、新しいいいねの「重み」が高くなります。たとえ一部の写真のいいねの数が多くても、それらは古いため、いいねの数は少ないが新しい写真よりもランクが低くなります。

MySQL だけを使用してこの問題を解決することは可能ですか?それとも、PHP で追加の処理が必要ですか?

P粉771233336P粉771233336407日前544

全員に返信(1)返信します

  • P粉958986070

    P粉9589860702023-09-10 00:56:06

    好きな状況を考えてみましょう。 timestamp は UNIXTIME フィールドであるため、新しいいいね数を計算する代わりに SUM(timestamp) を使用すると、より多くの重みが与えられます。 リーリー 一部の係数を使用できます (UNIX_TIMESTAMP() など)

    リーリー

    返事
    0
  • キャンセル返事