पहले प्रत्येक समस्या को अलग-अलग हल करें:
SELECT A.UserID, MAX(TIME) AS LastLogin
FROM UserMaster A
LEFT JOIN UserWebActivity B
ON A.UserID = B.UserID
AND Activity = 'Login'
GROUP BY A.UserID
SELECT A.UserID, COUNT(Activity) AS Logins
FROM UserMaster A
LEFT JOIN UserWebActivity B ON A.UserID = B.UserID
AND Activity = 'Login'
AND TIME BETWEEN (NOW() - INTERVAL 3 MONTH) AND NOW( )
GROUP BY A.UserID
यह सुनिश्चित करने के लिए कि इनमें से प्रत्येक क्वेरी आपकी इच्छानुसार काम करती है, उनका अलग से परीक्षण करें और यदि आवश्यक हो तो उन्हें समायोजित करें।
फिर जब आप खुश हों कि वे दोनों काम करते हैं, तो परिणामों को एक साथ जोड़ दें:
SELECT T1.UserID, T1.LastLogin, T2.Logins
FROM
(
SELECT A.UserID, MAX(TIME) AS LastLogin
FROM UserMaster A
LEFT JOIN UserWebActivity B
ON A.UserID = B.UserID
AND Activity = 'Login'
GROUP BY A.UserID
) AS T1
JOIN
(
SELECT A.UserID, COUNT(Activity) AS Logins
FROM UserMaster A
LEFT JOIN UserWebActivity B
ON A.UserID = B.UserID
AND Activity = 'Login'
AND TIME BETWEEN (NOW() - INTERVAL 3 MONTH) AND NOW()
GROUP BY A.UserID
) AS T2
ON T1.UserID = T2.UserID
यह MySQL को विभिन्न प्रश्नों के लिए अनुक्रमणिका का सर्वोत्तम उपयोग करने की अनुमति देगा।