簡體   English   中英

SQL查詢:用戶在過去24小時內發布的評論數

[英]SQL query: Number of comments posted in last 24 hours by people a user is following

我有一個網站,用戶可以在其中關注他們喜歡的用戶,並可以閱讀其最新更新。

我想向我的用戶簡單說明一下他們所關注的人在過去24小時內發表了多少評論。 我在弄清楚查詢時遇到了麻煩。

我有兩張桌子。

評論

  • cid(評論ID)
  • 時間戳
  • uid(發表評論的人的身份證明)
  • 評論(評論內容)

user_relationships

  • requester_id(跟隨此人的用戶的ID)
  • requestee_id(被跟蹤者的ID)

用簡單的英語,我認為查詢是這樣的:

從評論表中計算cid.comment,其中uid.comment等於與requester的requestter_id.user_relationships值相關聯的requestee_id.user_relationships。

我需要從usr_relationship表中獲取給定UID所跟隨的人的所有UID。 然后計算這些人在過去24小時內發布的評論數量並吐出該數字。

這個查詢會是什么樣的?

SELECT COUNT(1) 
FROM user_relationships ur 
JOIN comment c ON (ur.requestee_id = c.uid)
WHERE c.timestamp >= (CURRENT_TIMESTAMP - <interval of 1day>) 
  AND ur.requester_id = <visitor>

也希望這會有所幫助。

您將必須弄清楚如何創建一個從時間戳中減去的間隔。

    SELECT COUNT(*)
      FROM Comment
     WHERE uid in (SELECT user_relationships.requesterid
                     FROM user_relationships
                    WHERE user_relationships.requesteeid = @ThisID)

希望這有幫助,干杯,

使用連接

SELECT
    COUNT(c.cid)
FROM
    user_relationships r
    INNER JOIN comments c ON c.uid=r.requester_id AND c.timestamp > NOW() - INTERVAL 24 HOUR
WHERE
    r.requestee_id={user_id}

加入更快

SELECT COUNT(comments.uid) FROM comments JOIN user_relationships ON user_relationships.requestee_id = comments.uid WHERE user_relationships.requester_id = $some_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM