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

SELECTCOUNT(*)

EX(SELECT组字段FROM表

GROUPBY组字段

)else

p

SELECTCOUNT(*)

FROM(SELECTDISTINCTGRANTFieldFROMTABLE)else

扩展信息:

SQL查询组

SQLServer中使用的聚合查询是ORDBY子句。
与聚合函数结合的ORBY子句必须出现在ORDBY子句中(即SELECT后面的字段名要么出现在聚合函数中,要么用在ORDERBAPTISM中

子句也可以用在分组查询中

使用groupby进行查询组

使用关键字程序时,对选择列表中的内容有限制。
可以定义:

2.选择后

在SQL中,将查询结果表的各行按一列或多列取值相等的原则进行分组的子句是

GroupBy子句。

GroupBy子句可以将表中的行分为不同的组。
分别总结每个组,以便您可以控制想要查看的详细程度。

语法:

[GroupBy[ALL]Group_By_expression[,...n]

[WITH{CUBE|ROLLUP}]]

扩展信息:

使用GroupBy子句的注意事项。

1SELECT子句的字段列表中,除聚合函数外,GroupBy子句中出现的其他字段都必须存在。
例如“GroupByA,B”,那么“SELECTSUM(A),C”就有问题,因为C不在GroupBy中,但SUM(A)是可以的。

2SELECT子句的字段列表中不需要有聚合函数,但至少必须使用GroupBy子句中的一个元素。
例如“GroupByA,B,C”,那么“SELECTA”就可以了。

3在SQLServer中,带有text、ntext和image数据的字段不能作为GroupBy子句中分组的基础。

4GroupBy子句中不能使用字段别名。

SQL对查询结果进行分组

如果你的UID是int类型,先转换一下,然后截取前两位,然后用聚合函数得到总数,进行分组查询。
语句如下(直接替换表名即可使用):selectSUBSTRING(CONVERT(varchar(50),UID),0,3),COUNT(*)fromtablegroupbySUBSTRING(CONVERT(varchar(50),UID),0,3)