得到多个计数的输出在一个查询
问题描述:
你能帮我怎么写了以下问题的查询: 有两个表: 表人数:得到多个计数的输出在一个查询
P_id Name BirthDate
1 N1 2016-08-02
2 N2 2015-05-02
3 N3 2013-06-01
4 N4 2014-01-09
表访问:(p_id的是外键表人)
Id. Visitor_id. P_id. Visit_date
1 10 1 2017-03-05
2 11 2 2017-01-01
3 10 2 2017-02-03
4 12 3 2016-05-07
5 11 4 2016-04-09
6 10 1 2017-04-09
我们会得到由每个访问者访问计数,并在过滤器上计数访问不同的人对这些人的年龄是谁在1和2之间,2间和每个访问者在visit_date的日期3 ID。 结果应该是这样的:
Under_one Bet_one_two Bet_two_three
Visitor_id VisitedCount/PersonCount VisitedCount/PersonCount VisitedCount/PersonCount
10 2 1 1 1 0 0
11 0 0 1 1 1 1
12 0 0 0 0 1 1
1和2之间是指减去visited_date和生日的结果(例如:2013年3月5日的结果 - 2011/06/07)是1和2之间年份。
答
我不知道,如果你指定我可以给你准确地奠定了输出,但这种
SELECT
visited.Visitor_id,
visited.P_id,
Int(([Visit_date]-[BirthDate])/365) AS Age,
Count(persons.P_id) AS NumVisits
FROM persons INNER JOIN visited ON persons.P_id = visited.P_id
GROUP BY
visited.Visitor_id,
visited.P_id,
Int((-[BirthDate]+[Visit_date])/365);
回报
Visitor_id P_id Age NumVisits
10 1 0 2
10 2 1 1
11 2 1 1
11 4 2 1
12 3 2 1