我正在處理某種社交消息發佈應用程序。在這一點上,我需要獲取過去24小時內的數據趨勢數據。我有3個表 - 信息,用戶,共享根據最近24小時的股票獲取行mysql
消息 - MESSAGE_ID,內容,USER_ID,created_at
用戶 - USER_ID,電子郵件和其他數據
股 - MESSAGE_ID,USER_ID,created_at
現在,我正在尋找的是消息的詳細信息,以及它的總共股數。我想根據過去24小時內的最高份額對這些消息進行排序,這給了我病毒式的消息。
我想,這可能是無效的嘗試:
SELECT msg.`message_id`, msg.`user_id`, COUNT(share.user_id) share_count
msg.created_at, category FROM
(select * from message_shares ms where created_at>= DATE_SUB(CURDATE(), INTERVAL 24 HOUR)) trending,
`messages` msg
left join message_shares share ON share.message_id = msg.message_id
GROUP by msg.message_id order by msg.id desc
這是給我的無效SHARE_COUNT也實在是不給有效的結果和消息。並且它沒有根據最近24小時的份額計數對消息進行排序。
我對MySQL查詢沒有太多先進的知識。所以請給我提供方法或查詢來找到這些細節。
這不起作用。它爲每一行返回相同的'share_count'。 –