我有下面的模式,
学生(名字、姓氏、SID)
已注册(学生ID、课程ID)
课程(CID、课程名称、系)
我需要找出哪些学生上的CSC
课比IT
课多。CSC
和IT
位位于部门
类别中。我有以下查询,其中列出了所有注册课程的学生以及他们注册了多少CSC
课程。
select studentid,count(department) as cscclasses
from enrolled
left join course
on courseid = cid
and department = 'CSC'
group by studentid;
不太确定如何将这个数字与那些注册信息技术课程的人进行比较。
在CTE中,计算每个学生的CSC和IT课程计数
With CTE
As
(
select studentid,
SUM(case when
department ='CSC'
then 1 else 0
end) as CSCCount ,
SUM(case when
department ='IT'
then 1 else 0
end) as ITCount ,
from enrolled
left join course
on courseid = cid
And Sid =studentid
group by studentid
)
Select E.* FROM
JOIN CTE
On CTE.studentid = E.sid
Where CTE.CSCCount > CTE.ITCount
您可以尝试使用sum
和case
select studentid
from(
select studentid,
SUM(CASE WHEN department='CSC'
THEN 1
ELSE 0
END) as cscclasses,
SUM(CASE WHEN department='IT'
THEN 1
ELSE 0
END) as itclasses
from enrolled
left join course
on courseid = cid
and department = 'CSC' OR department = 'IT'
group by studentid
)
where cscclasses > itclasses
我需要将以下查询转换为hibernate条件查询。请帮忙 由于投票表上的复合主键,我用@Embeddable分隔了主键,所以后面的createQuery不起作用 和可嵌入对象 请建议一个更好的方法。
1)使用的第一个查询...大约用了23秒 目前我修改了查询..这需要大约9秒 我不确定要做的表演是什么?我希望这个查询是快速的..我尝试索引rid和id,但这仍然使查询变得更糟。 下面是表格的详细信息 mza_movie_upload MZA_Movie_Statics
在Crystal Reports中,我使用以下查询(针对Oracle数据库)为报表中的单个字段生成数据: 这可以很好地工作,并基于提供的{HB_As_At_Date}(the{?}语法是Crystal将参数值嵌入SQL(SQL)的方法。不过,上述查询的内容不是我的问题——我想做的是在几个不同的日期重复运行它,并将输出输入Crystal以供在报告中使用。 假设我希望在9月的每个星期一运行这个查询,我
问题内容: 我正在尝试使用具有相似列值的行来估算值。 例如,我有这个数据框 我想使用相似的列[‘one’]和[‘two’]的键,并且如果列[‘three’]并非完全是nan,则从具有相似的键的行中插值[ ‘3’] 这是我的愿望结果 您会看到键1和3不包含任何值,因为现有值不存在。 我试过使用groupby fillna() 这给了我一个错误。 我尝试了正向填充,这给了我一个相当奇怪的结果,那就是它
此代码正在触发错误 无效的sql对象。 从文档中我觉得表中的任何对象都是sql对象<这里怎么了? 在Oracle 10G中考虑以下函数 在10G上下文中考虑以下函数 我得到了一个错误的无效对象 我的桌子就像 此表位于“测试”模式中,我与SCOTT有联系,SCOTT有“测试时授予选择权”。测试表到scott's 我还是会出错 ERR_INVALID_OBJECT
目前,我正在为客户列表开发一个“过滤器”功能。 我有以下子查询,我不确定是否有办法用CriteriaBuilder构建它。它也可以在没有multiselect但是我需要、和来选择最小值。结果应该是一个数字。 例如客户余额表 更新:这是我当前的代码,但是 如何为我的子查询添加排序依据 如何设置maxResult 谢谢!B