问一个asp的统计与查询问题
数据库类似如下:
表:jilu
字段:
id 自动编号
uname:用户名 文本
um:贴子数 整数
udate:日期(每天每个用户名就生成一条)
例如:(数据每日一条,一个用户可能有多条数据)
1 aa 10 2006-01-01
2 bb 10 2006-01-01
3 aa 10 2006-01-02
4 bb 10 2006-01-02
5 cc 300 2006-01-04
6 aa 30 2006-01-05
7 dd 30 2006-01-07
表:yonghu
字段:
id 自动编号
yname:用户名 文本
yji:用户等级
yregdate:用户注册日期
例如:(每个用户名就一条,不重名。)
1 aa 4 2006-01-01
2 bb 4 2006-01-01
3 cc 2 2006-01-01
4 dd 4 2006-01-02
表jilu里面是每个用户每天一条数据。
我要进行如下的查询,输出所有4级用户,自注册日期起之后80天内的贴子数之和不足100的
也即是说:
在yonghu表里找到yji=4的所有用户,然后统计jilu表里,从yregdate之后的80天内um的 “和” <100的。
请问这个查询语句应该如何写?
输入要求符合条件的用户(不重复)
例如:用上面我给出的演示数据
应该输出:
aa
dd
因为bb虽然是4级,但是um大于100,而cc则yji <> 4
或者怎么样效率会更高?
------解决方案--------------------Select a.uname From jilu a inner join yonghu b on a.uname=b.yname Where b.yji=4 And datediff( 'd ',b.yregdate,a.udate) <80 group by a.uname having sum(a.um) <100