SQL按部门查询平均年龄的疑难问题!

来源:百度知道 编辑:UC知道 时间:2024/05/15 05:00:18
比如说我想查询部门A的时候,我就写出
select (avg(员工年龄)) 平均年龄 from 员工表 where 部门=A
可是如果我做个窗口,让使用者自己选择需要统计哪个或者哪几个部门的平均年龄的时候该怎么办呢?
比如我可能选择A,B,C这三个部门的,可能待会我选择A,B两个部门的。
select 部门,年龄,(avg(员工年龄)) 平均年龄 from 员工表 group by 部门,年龄 where 部门=A or 部门=B
回答者: uestczcs - 魔法师 四级 9-19 11:05

这个不对啊,这个还是计算的整个员工表里面的年龄数据啊,而并不是计算的A和B两个部门的年龄平均数啊。
******************
现在已知变量为:"paravalue()"这么个东西。

不晓得你用什么做窗口给用户使用的

应该可以用可交互的控件传递变量到你的sql

思路就是设定部门为一个变量,然后引用
列入在EXCEL里面
可以
Dim abc as string
abc=cells(1,1).value
然后在下面的数据库链接字符串里面写
sql="select (avg(员工年龄)) 平均年龄 from 员工表 where 部门 in ("& abc &"") group by 部门

select 部门,avg(员工年龄) 平均年龄
from 员工表
where 部门 in (A,B,C...)
group by 部门

也可以不分组,那就是全部求平均了

select 部门,年龄,(avg(员工年龄)) 平均年龄 from 员工表 where 部门=A or 部门=B group by 部门,年龄

select 部门,年龄,(avg(员工年龄)) 平均年龄 from 员工表 group by 部门,年龄 where 部门=A or 部门=B

你的窗口是表单嘛?
那样你就可以写程序代码的。