当我在oracle XE中运行此语句时,我不断收到错误消息,说这不是一个表达式组。
SELECT PROJECTID, HOURSWORKED FROM ASSIGNMENT GROUP BY PROJECTID HAVING HOURSWORKED > 20;
答案 0 :(得分:0)
你必须在工作时间上有一个聚合函数 - 例如MAX(HOURSWORKED),AVERAGE(HOURSWORKED)等。或者您还必须将它添加到组中,尽管这看起来很奇怪..
在stackoverflow上询问SQL问题的另一个建议 - 使用SQL Fiddle创建一个最小的测试用例。例如。 http://sqlfiddle.com/#!17/fea91/5为您的例子。除非它是特定于Oracle的东西,否则Postgres通常足够接近普通的SQL问题。尝试将WHERE更改为HAVING,以查看两者之间的差异......
答案 1 :(得分:0)
class A {
companion object {
val fpath = ...
}
}
class B{
fun xy() = print(“accessing property of A: ${A.fpath}”)
}
用于汇总表达式,例如GROUP BY
或MAX()
。
答案 2 :(得分:0)
你可以写
SELECT PROJECTID, HOURSWORKED
FROM ASSIGNMENT
WHERE HOURSWORKED > 20;
或
SELECT PROJECTID, SUM(HOURSWORKED)
FROM ASSIGNMENT
GROUP BY PROJECTID
HAVING SUM(HOURSWORKED) > 20;
(或其他一些聚合函数,例如:MAX,MIN),具体取决于你的意图。
WHERE
用于过滤单个记录
HAVING
用于过滤分组的汇总值。