我有以下两个查询。如何在sql查询中嵌套计数
首先列出用户和上次登录的日期是这样的:
iUserNum chDefaultLogin dateLastLogin
-------- -------------- -------------
17 fred.bloggs 01/06/2011
23 john.doe 13/05/2011
使用下面的查询
SELECT SDToken.iUserNum, chDefaultLogin, dateLastLogin
FROM SDUserScope JOIN SDToken ON SDUserScope.iUserNum = SDToken.iUserNum
第二个给出的时间在用户登录次数的计数(给定iUserNum用户号码)在过去7天内使用此查询(在下面的例子中,我给出了iUserNum为17):
SELECT COUNT(*) FROM SDToken
JOIN SDLogEntry ON SDLogEntry.chTokenSerialNum = SDToken.chSerialNum
JOIN SDUserScope ON SDToken.iUserNum = SDUserScope.iUserNum
JOIN SDLogMessage ON SDLogEntry.iMessageNum = SDLogMessage.iMessageNum
WHERE SDToken.iUserNum = 17 AND SDUserScope.iSiteNum = iMySite
AND SDLogEntry.dtGMTDate > GMTDateNow - 7
我想要做的就是将两个在一起,所以我得到的计数表中的每一个用户,像这样:
iUserNum chDefaultLogin dateLastLogin loginCount
-------- -------------- ------------- ----------
17 fred.bloggs 01/06/2011 12
23 john.doe 13/05/2011 4
什么RDBMS好吗? – gbn 2011-06-17 10:24:38
不幸的是我在这里有点瞎了。这是在一个应用服务器(RSA)上,它有一个基本的查询编辑器来输入查询 - 但我不知道它在后台运行的是什么。 – Ben 2011-06-17 10:26:44