一、HAVING 、WHERE 、GROUP BY、COUNT:
1.count()表示返回指定列的值的数目,count(*)表示返回查询结果所有的行数。
需要注意的是count作为聚合函数是发生在分组之后的(group by)
2.having 和 where 的区别:
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数
having子句的作用是在对查询结果进行分组后过滤数据,即筛选满足条件的组,条件中经常包含聚合函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组
两者可以连用:如
select seq , sum(labelid)
from yb008
where labelid not like '701002'
group by type_yb008
having sum(labelid) > '110000'
3.group by 分组常见问题(select指定的字段限制和多列分组):
上个工作日我发现很多研究机构在做债券研究的时候只做行业策略,不做个债分析。而粗心的录入伙伴们可能不小心把行业策略录入到个债分析里去了,那怎么找出它们呢?于是我写了一个语句,内容是一段时间内(90天)在个债分析分类里,每个机构写的研报数