sql语句 如何分组后得到记录总数

谢谢大家 求租
大家没明白我的意思,我要的是分组完记录数总行数怎么写? 不是统计每组的记录数,是统计分组后的种类数,比如
select WDT_id from T_renwu_zhixing group by WDT_id 分组后有3种类型的数据,目的就是如何统计出3

SELECT COUNT(*) 

FROM (SELECT 分组字段 FROM 表 

GROUP BY 分组字段 

)别名 


或者 

SELECT COUNT(*) 

FROM (SELECT distinct 分组字段 FROM 表)别名

扩展资料:

SQL分组查询

在SQL Server中使用的分组查询是ORDER BY子句,使用ORDER BY子句要同聚合函数配合使用才能完成分组查询,在SELECT查询的字段中如果字段没有使用聚合函数就必须出现在ORDER BY子句中(即SELECT后边的字段名要么出现在聚合函数中,要么在ORDER BY子句中使用)

在分组查询中还可以配合使用HAVING子句,定义查询条件。

使用group by进行分组查询

在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:

1、被分组的列

2、为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数

3、group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-22
要得到每组的合计可以用2、3楼,要总计用1楼,想一次性得到分组合计以及总计,sql2005可以这么写:
SELECT 分组字段 FROM 表
GROUP BY 分组字段
compute sum(COUNT(*))

=====
那就这样
SELECT COUNT(*)
FROM (SELECT 分组字段 FROM 表
GROUP BY 分组字段
)别名
或者
SELECT COUNT(*)
FROM (SELECT distinct 分组字段 FROM 表)别名本回答被提问者采纳
第2个回答  2009-11-09
统计记录条数就用count()函数啊,如果想统计分组以后每个组的记录数,就分别统计或者在where条件中加上分组条件
第3个回答  2009-11-09
使用函数COUNT(*)就可以啊。要是统计总和就用SUM。

SELECT 分组字段 COUNT(*)
FROM 表
GROUP BY 分组字段
第4个回答  2009-11-09
select count(*),列名 from 表名 group by 列名
相似回答