我要从一张con_book(上课登记表)中查出一个月各位老师”所“上的课”及“次数”
我的表结构如下:
memberno --上课登记的学生ID号
objtime --登记的时间
itemid --所上课程(如:口语)
tableid --课程所属班的名字(如:英语全能班)
ctzid --授课老师姓名
因为是同一个课每来一个学生都会增加一条记录,如口语课有78条记录,其实是某位老师上的一次课,问题在于我一周有好几次重复的课,所以怎么样才能更好的分辨出时间,我估计是需要一个比较复杂的查询,希望高人指点,或是指明思路!谢谢
我的表结构如下:
memberno --上课登记的学生ID号
objtime --登记的时间
itemid --所上课程(如:口语)
tableid --课程所属班的名字(如:英语全能班)
ctzid --授课老师姓名
因为是同一个课每来一个学生都会增加一条记录,如口语课有78条记录,其实是某位老师上的一次课,问题在于我一周有好几次重复的课,所以怎么样才能更好的分辨出时间,我估计是需要一个比较复杂的查询,希望高人指点,或是指明思路!谢谢
解决方案 »
- 急问:在ORACLE数据库的视图v$archived_log里,为什么会出现stby1这行记录
- 怎样从oracle中读取blob数据
- oracle sql动态查询问题----百思不得其解,跪求大神来助!
- 怎么批量修改表空间
- access 导入oracle ??
- 我在用pb8.0的数据管道把数据从oracle7.3导入到oracle9i时:
- 各位:怎么把一个数据库和一个用户联系到一起来呢,比如现在有一个数据库mydb,我在sqlplus里登录时,就要用admin这个用户登录到mydb这个数
- 建立oracle数据源的问题
- 請問個位超人:oracle9i 怎樣返回一個記錄集
- s_ind 什么意思
- 优化查询语句
- Insert into Select 语句优化
每个学生每上一节课就会生成一个id和登记时间吗
写代码前要先明确,根据什么来区分或者你给个例子,写上原数据和查询结果
会更容易明白
memberno number,
objtime date,
itemid number,
tableid number,
ctzid number);insert into con_book values(1,sysdate,2,0,1001);
insert into con_book values(2,sysdate,2,0,1001);
insert into con_book values(3,sysdate,2,0,1001);
insert into con_book values(4,sysdate,2,0,1001);
insert into con_book values(5,sysdate,2,0,1001);
insert into con_book values(6,sysdate,2,0,1001);
insert into con_book values(1,sysdate+1,2,0,1001);
insert into con_book values(2,sysdate+1,2,0,1001);
insert into con_book values(1,sysdate,3,0,1001);
insert into con_book values(2,sysdate,3,0,1001);
insert into con_book values(2,sysdate,4,0,1002);SQL> select ctzid,itemid,count(distinct to_char(objtime,'yyyy-mm-dd')) from con_book group by ctzid,itemid; CTZID ITEMID COUNT(DISTINCTTO_CHAR(OBJTIME,
---------- ---------- ------------------------------
1001 2 2
1001 3 1
1002 4 1SQL>
select ctzid as 老师,itemid as 课程名,sum(memberno) as 课程次数
from con_book
where memberno='***'
group by ctzid,memberno,itemidgroup by ctzid,memberno
按老师和学生分组
老师和某个学生的ID见过一次就算是一堂课了
但是要保证这个学生每堂课都来啊,呵呵
SYSdate 是日期统计吧,和时间有区别吧.如果老师一天上2次课,那不是统计称一次了
select ctzid 老师,itemid 所上课程,count(*) 次数
from
(select objtime,ctzid ,itemid
from con_book
group by objtime,ctzid,itemid)
group by ctzid,itemid