यहाँ एक तरीका है जिससे आप निम्नलिखित क्वेरी द्वारा पूरी चीज़ को पूरा कर सकते हैं:
SELECT
(dividendTable.messages / divisorTable.messages) AS result
FROM
(
SELECT
firstTable.messages,
@rn1 := @rn1 + 1 AS row_number
FROM
(
SELECT
COUNT(channel) AS messages
FROM Chats
WHERE message LIKE '%word%'
GROUP BY UNIX_TIMESTAMP(time) DIV 3600
) FirstTable, (SELECT @rn1 := 0) var1
) AS dividendTable
INNER JOIN
(
SELECT
secondTable.messages,
@rn2 := @rn2 + 1 AS row_number
FROM
(
SELECT
COUNT(channel) AS messages
FROM Chats
GROUP BY UNIX_TIMESTAMP(time) DIV 3600
) secondTable, (SELECT @rn2 := 0) var2
) AS divisorTable
ON dividendTable.row_number = divisorTable.row_number;
नोट:
यदि आप चाहते हैं कि परिणाम दशमलव बिंदु के बाद 2 अंकों तक हो तो क्वेरी की पहली पंक्ति के रूप में निम्नलिखित का उपयोग करें:
SELECT
ROUND((dividendTable.messages / divisorTable.messages),2) AS result
सावधानी: आपने अपनी क्वेरी में किसी ORDER BY का उपयोग नहीं किया है। आपको यादृच्छिक व्यवहार मिल सकता है।