在SQL中创建带有计数的视图
我需要在SQL中创建一个视图,通过计算一个员工已完成的任务数,但只显示一个有3个以上任务的员工。我遇到的问题是在视图中显示计数。我得到的错误是“缺少右括号” “计数”是一个函数。它需要括号中的参数:在SQL中创建带有计数的视图,sql,oracle,view,count,Sql,Oracle,View,Count,我需要在SQL中创建一个视图,通过计算一个员工已完成的任务数,但只显示一个有3个以上任务的员工。我遇到的问题是在视图中显示计数。我得到的错误是“缺少右括号” “计数”是一个函数。它需要括号中的参数: ... AS SELECT COUNT(T.TASK_ID) ... “计数”是一个函数。它需要括号中的参数: ... AS SELECT COUNT(T.TASK_ID) ... 你的代码毫无意义。我怀疑你想要: CREATE VIEW EMPLOYEE_TASKS AS SE
...
AS SELECT COUNT(T.TASK_ID)
...
“计数”是一个函数。它需要括号中的参数:
...
AS SELECT COUNT(T.TASK_ID)
...
你的代码毫无意义。我怀疑你想要:
CREATE VIEW EMPLOYEE_TASKS AS
SELECT E.EMPLOYEE_ID, E.FIRST_NAME, E.LAST_NAME, COUNT(*) as num_tasks
FROM EMPLOYEE E JOIN
TASK T
ON E.EMPLOYEE_ID = T.TASK_ID
GROUP BY E.EMPLOYEE_ID, E.FIRST_NAME, E.LAST_NAME
HAVING COUNT(*) > 3;
你的代码毫无意义。我怀疑你想要:
CREATE VIEW EMPLOYEE_TASKS AS
SELECT E.EMPLOYEE_ID, E.FIRST_NAME, E.LAST_NAME, COUNT(*) as num_tasks
FROM EMPLOYEE E JOIN
TASK T
ON E.EMPLOYEE_ID = T.TASK_ID
GROUP BY E.EMPLOYEE_ID, E.FIRST_NAME, E.LAST_NAME
HAVING COUNT(*) > 3;
创建视图时,您可以选择在视图名称之后提供一个插入式列名列表,但是,该列表不应采用alias.column_name格式,您只提供了列名。此外,如果确实提供了列名的可选列表,则定义视图的查询的投影(选择列表)在其投影中的列数应与列别名列表中的列数相同 当前,视图定义存在以下问题:
E.
和T.
)COUNT T.TASK\u ID
不是有效的列表达式,COUNT(T.TASK\u ID)
是WHERE
子句中使用COUNT(T.TASK\u ID)
,但是,这是WHERE
子句中不允许使用的聚合函数创建视图时,您可以选择在视图名称之后提供一个插入式列名列表,但是,该列表不应采用alias.column_name格式,您只提供了列名。此外,如果确实提供了列名的可选列表,则定义视图的查询的投影(选择列表)在其投影中的列数应与列别名列表中的列数相同 当前,视图定义存在以下问题:
E.
和T.
)COUNT T.TASK\u ID
不是有效的列表达式,COUNT(T.TASK\u ID)
是WHERE
子句中使用COUNT(T.TASK\u ID)
,但是,这是WHERE
子句中不允许使用的聚合函数请提供架构和一些数据以进行复制请提供架构和一些数据以进行复制。如果我没有说明要计数的列,计数是如何工作的?您不需要指定列名:
count(*)
只需计算由GROUP by
子句聚集的行数,这实际上就是您要查找的Hanks信息。如果我没有说明要计数的列,计数是如何工作的?您不需要指定列名:count(*)
只需计算由GROUP by
子句聚集的行数,这实际上就是您要查找的信息