你现在是聚合出问题了,当你进行聚合时,你的结果中只能包含聚合的函数,如果你需要有其他的字段则必须要进行 GROUP BY ,而且一般情况下GROUP BY会和聚合表达式一起使用,这样才可以根据一个或多个列对结果集进行分组聚合。
下面是我整理GROUP BY 和HAVING的一些限制。
GROUP BY 的字段可以是表中的任何列,这些列并不需要出现在SELECT的列表中,但SELECT的查询列必须是Group By的列或者是聚合函数 ,另外在分组中出于分组的目的NULL被认为是等价的
如果要对分组结果进行过滤可以用HAVING子句,这是一个布尔表达式,它可以是分组列、聚合表达式的一部分列和子查询的一部分列
mysql里没有nvl函数
oracle中当查询的结果中有聚合指标cout、sum等时,必须将非指标字段放在group by中
你的错误不在于NVL,而在于count
你使用了count,则后面必须使用group by语句