【发布时间】:2021-05-09 17:00:18
【问题描述】:
我需要为以下场景创建一个 Oracle 查询:-
我需要查询该学生每月每个地点参加课程的次数。我们需要使用表中的访问日期列来查找出勤人数。
我们需要找出每个学生在一月、二月、三月……每个地点参加课程的次数。学生还可以根据以下示例数据从不同位置滑动。
最后的查询应该告诉我们: ID 、location[所有字母都大写],后缀没有 US 以及每月的访问次数。
我尝试了以下查询,但没有成功:-
select ID,SUBSTRING(t.location,1,(INSTR(t.location,',')-1) as COUNTY from tablename t group by Access Dates;
有人可以建议如何纠正或建议 oracle 查询以实现以下输出吗?我对 Oracle 不太熟悉。请建议。
预期输出
ID: COUNTY Attendancecount Month
101 NEWYORK 21 JAN
102 NEWJERSEY 24 JAN
103 LOSANGELES 20 JAN
104 LOSANGELES 27 JAN
101 NEWYORK 25 FEB
102 NEWJERSEY 18 FEB
103 LOSANGELES 21 FEB
104 LOSANGELES 21 FEB
示例数据如下所示:
样本数据
ID location Access dates
101 newyork,USA 01-Jan-2021
102 newjersey,USA 02-Jan-2021
103 newyork,USA 02-Jan-2021
104 Losangeles,USA 01 Jan 2021
101 newyork,USA 04 Jan 2021
102 newJersey,USA 04 Jan 2021
103 newyork,USA 05-Jan-2021
104 Losangeles,USA 05 Jan 2021
101 newyork,USA 05 Jan 2021
102 newJersey,USA 05 Jan 2021
问候 哈里
【问题讨论】:
-
Edit 问题并详细解释“它不起作用”的含义。
-
提示:要获取记录数,请使用聚合函数
COUNT。网上有很多例子可以让你自己找出答案。 -
我尝试的查询不起作用,我不知道如何根据分隔符进行隔离以及如何根据访问日期查找出勤人数。逻辑并不引人注目
-
@KoenLostrie :我使用了 count,但它仍然不能与有子句给出条件。你能发送一些类似的例子我会尝试。我是 oracle 新手,所以我不知道
标签: sql oracle oracle11g oracle10g