请教sql语句 有一张表 是记录人员登录次数 登录一次就在表中插入一条记录 表结构是 人员id 人员名称 人员部门 登录时间现在要按照人员的部门统计某一天内人员的登录情况用sql应该怎么写?按照下面格式显示部门1 登录人员总数部门2 登录人员总数....... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select 人员部门,count(*) from 表名 group by 人员部门 哦,忘加时间了,呵呵select 人员部门,count(*) from 表名 where to_char(登录时间,'yyyy-mm-dd')='时间条件' group by 人员部门 谢谢这样可以 不过还有一个问题 如果某一个部门没有人登录过 这个部门就不在group by的范围内了 如果还有一张部门表怎样能按照所有的部门显示呢 如果部门没有人登录 能否显示0呢 --外连接select b.部门名称,count(a.人员ID)from 部门表 b LEFT join 人员表 aon b.部门名称=a.部门名称where 登录日期=某日期group by b.部门名称 select b.部门,(select count(1) from 人员表 where 登录时间=某时间and 部门=b.部门)from 部门表 b select tb1.部门,nvl(tb2.num,0) from 部门表 tb1,(select 部门,count(*) num from tb where 登录时间='' group by 部门) tb2 where tb1.部门(+)=tb2.部门 某位大侠发给我的 测试通过 也谢谢大家 使用data link 连接远程数据库同步遇到的问题 oracle 8i 的时间文件、重做日志文件、控制文件、初始化参数文件 分别是那些?在什么地方? oracle update from 如何写一个bat文件启动Oracleora92TNSListener和OracleServiceORA9I ! 一个sql语句 请教managerment server P4的机器为什么不能装ORACLE8i??? 关于主键外键的约束问题 问一个弱问题:如何取得上个月的时间 backup anytable 请教Oracle的基本使用 那再请问哪能下到oracle 10g,要带setup安装的
select 人员部门,count(*)
from 表名
where to_char(登录时间,'yyyy-mm-dd')='时间条件'
group by 人员部门
怎样能按照所有的部门显示呢 如果部门没有人登录 能否显示0呢
--外连接
select b.部门名称,count(a.人员ID)
from 部门表 b LEFT join 人员表 a
on b.部门名称=a.部门名称
where 登录日期=某日期
group by b.部门名称
select count(1) from 人员表
where 登录时间=某时间
and 部门=b.部门
)
from 部门表 b
某位大侠发给我的 测试通过 也谢谢大家