SQLヘルプ - 自動クローズ/結果の繰り返し/週フィルター

こんにちは。トピック、カテゴリ、トピックの投票数、トピックが閉じられているかどうか、作成日時、作成したユーザーを表示するクエリ(下記参照)を作成しました。もし追加情報が必要な場合は、お気軽にお知らせください。

SQL初心者なので、いくつか問題と質問があり、ヘルプやガイダンスをいただきたいです。

  1. このクエリを実行すると、同じトピックが何百回も表示されます。これを修正するにはどうすればよいですか?

  2. トピックが自動的に閉じられる日時を取得して表示する方法はありますか?

  3. 1週間以内のトピックのみを表示したいです。しかし、追加したdate_truncは1週間以上前のアイテムも表示しますか?

SELECT
    t.id as topic_id,
    t.category_id,
    dvc.votes_count,
    t.closed,
    t.created_at,
    t.user_id
FROM topics t, discourse_voting_topic_vote_count dvc
WHERE t.closed = true
    AND t.category_id = 20
    AND dvc.votes_count >= 1
    AND t.created_at <= date_trunc('week', current_date)::date
    AND t.created_at >= date_trunc('week', current_date)::date - 7

WHERE 行の後に次を追加してみてください。

 AND t.id = dvc.topic_id

テストはしていませんが、それがあなたの大きな問題だと思います(「同じトピック」の問題を修正します)

「いいね!」 1

素晴らしい!ジェイ、ありがとう、うまくいきました :smiley:

他の問題についても、どのように進めればよいかご存知ですか?

(3) については、タイムゾーンの問題か、スクリプトを実行した秒に基づいて、前の深夜または次の深夜を取得したいかのどちらかだと推測します。(どちらを修正すればよいか、すぐにはわかりません。)

これが役に立つかどうかわかりませんが、試すことができます。

閉店時間を取得するには、SELECT 部分に何かを追加し(利用可能なフィールドから推測できます)、FROM を次のように変更する必要があります。

   FROM topics t, discourse_voting_topic_vote_count dvc, topic_timers tt

そして WHERE の後にこれを追加します。

    AND tt.topic_id=t.id

(以前追加したものと同様に。)

「いいね!」 1

Jayさん、本当にありがとう。命の恩人です (:

「いいね!」 1

すごい!うまくいきましたか?それは素晴らしいです。お役に立てて嬉しいです。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.