我想结合我的2个sql结果和1个过滤器,即Date。 如何组合我的这两个SQL查询。
第一个sql
SELECT e.Name,COUNT(l.userName) as UsersVisit
FROM Table1 l
INNER JOIN Table2 e on e.UserName =l.UserName
WHERE
( l.DateAccessed>'3-31-2015' and l.DateAccessed <'4-30-2015')
Group by e.Name
O / P我得到了
Name UsersVisit
abc 10
xyz 20
def 30
第二个Sql
SELECT COUNT(1) as TotalVisits
FROM Table1 l
INNER JOIN Table2 e on e.UserName =l.UserName
WHERE
( l.DateAccessed>'3-31-2015' and l.DateAccessed <'4-30-2015')
ORDER BY TotalVisits DESC
O / P我得到了
TotalVisits
60
现在,我想要的O / P是
UniqueUsers TotalVisits Month
3 60 March
4 50 April
3是唯一的用户数(abc,xyz,def),而TotalVisits是所有UsersVisit的计数
我怎样才能得到这些结果?
答案 0 :(得分:2)
组合您的select子句并使用datename和datepart函数
select dateName(month, DateAccessed) "Month"
, datePart(month, DateAccessed) sortColumn
, count(1) totalVisits
, count(distinct l.userName) UsersVisit
from and where clause goes here
group by dateName(monthDateAccessed)
order by sortColumn
在显示代码中,不显示排序列。此外,如果您的搜索周期超过一年,您可能希望将年份纳入等式。