所以我想按月比較新用戶和表中的用戶。我有一個表,其中包含每個行動與用戶名和日期戳。在選擇查詢中選擇查詢?
我可以很容易地拉,在執行的操作,例如用戶,2011年1月要查看是否每個用戶都是新的,我需要再對所有以前的記錄(2011年1月之前)運行他們的用戶名。
在我fumblings我想出了以下內容:
SELECT ini.username,
MIN(ini.datetime) AS firstAction,
COUNT(ini.datetime) AS numMonth,
(SELECT COUNT(*)
FROM tableActions tot
WHERE tot.username = ini.username
AND tot.datetime < '201101%'
AND tot.datetime > '201001%') AS numTotal
FROM tableActions ini
WHERE DATETIME >= '201101%'
AND DATETIME < '201102%'
GROUP BY ini.username
ORDER BY firstAction
它沒有錯誤,但它並沒有完成任何。似乎相當激烈。
什麼是你的問題?如何「修復」它?陳述你的要求。 –
'datetime'列的數據類型是...'varchar'?餿主意。你的查詢*應該會很慢。如果datetime列的數據類型是'datetime',那麼我就不明白'> ='201101%'是什麼樣的比較? –
同意,「datetime」的列聲明是什麼? – pilcrow