sql - SQL-获取平均年龄在范围内的用户数

标签 sql sql-server-2008

我知道这应该很简单,但是我有一个精神障碍。我在SQL Server 2008数据库中有三个表:

使用者:


ID
生日(日期时间)


User_Visits:


Site_ID
用户身份
Visit_Date


网站:


ID


我需要一条SQL语句,该语句获取访问者的平均年龄在40至50岁之间。

提前致谢!

最佳答案

select count(*) as SiteCount
from (
      select avg(datediff(year, U.BirthDate, UV.Visit_Date)) as AvgAge
      from Users as U
        inner join User_Visits as UV
         on U.ID = UV.User_ID
      group by UV.Site_ID   
     ) as T
where AvgAge >= 40 and
      AvgAge < 50 

关于sql - SQL-获取平均年龄在范围内的用户数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458132/

相关文章:

SQL:在一组列上查找具有匹配值的记录

sql - Postgres 数据库 : SQL statement in production is taking much longer than locally

php - 找到表名,然后从该表中获取数据。

MySQL 查询不返回任何行

sql - 计算字段中的位数

sql-server - 表值函数降低了我的查询性能

mysql - 将现有值插入新列

mysql - 返回不是 friend 但一起参加最多事件的用户

sql - 索引 View 和左连接一劳永逸

SQL - 选择一个字段中具有来自另一字段的最高记录的不同记录