所以我想按月比较新用户和表中的用户。我有一个表,其中包含每个行动与用户名和日期戳。在选择查询中选择查询?
我可以很容易地拉,在执行的操作,例如用户,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