mysql 分组之后如何统计记录条数, gourp by 之后的 count

SELECTcount(*)FROM表名WHERE条件//这样查出来的是总记录条SELECTcount(*)FROM表名WHERE条件GROUPBYid//这样统计的会是... SELECT count(*) FROM 表名 WHERE 条件 // 这样查出来的是总记录条

SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统计的会是每组的记录条数.

如何获得 第二个sql语句的总记录条数
第二个查询是用作多表联查的, GROUP BY 后面那个ID 是其中一个表的主键
展开
 我来答
要当技术宅66
高粉答主

2019-06-14 · 醉心答题,欢迎关注
知道答主
回答量:566
采纳率:100%
帮助的人:14.4万
展开全部

需要准备的工具:电脑,sql数据库。

1、首先新建一个test表,有id,name,second三个字段,其中name字段有重复数据。

2、输入“select name,max(second) from test group by name”语句,点击运行。

3、可以看到已经查询出按name分组后取出的second最大的一条记录。

4、以输入“select name,max(second) from test group by name order by max(second) desc”语句,按分组后second最大值进行降序。

5、如果想查询mysql分组后最小的一条记录,输入“select name,min(second) from test group by name”语句,点击运行即可。

badkano
推荐于2017-10-14 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

可直接用嵌套查询。

方法如下:

如数据:

id          name

1            a

1            b

2            c

2            d

3            e

3            f

3            g

3            h

select count(t.counts) from
(select id,count(*) counts from 表名 group by id) t

这样得到的结果就是3。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4e109ce
2012-11-17
知道答主
回答量:18
采纳率:0%
帮助的人:6.6万
展开全部
第二个写法出来的是相同id值的计数情况。一般来说,一条select语句的执行顺序如下:from子句→where→group by(having)→select→order by→limit,因为聚集函数是在select中的,所以是在执行完group by之后再执行count()函数,所以第二条写法是得不到总的记录数的。如果你要获得总的记录数就用第一种写法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b68195
推荐于2017-10-04 · TA获得超过1520个赞
知道大有可为答主
回答量:1773
采纳率:100%
帮助的人:1712万
展开全部
select count(*) from
(SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id ) a ;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大野瘦子
高粉答主

2018-12-12 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:33.2万
展开全部

SELECT count(*) FROM 表名 WHERE 条件 // 这样查出来的是总记录条

SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统计的会是每组的记录条数.

获得第二个sql语句的总记录条数则是,如下:

select count(*) from(SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id ) a ;

注意:

子查询方式,MySQL中子结果集必须使用别名,而Oracle中不需要特意加别名。

扩展资料:

MySQL使用统计函数的语法形式如下:

SELECT function(field) FROM table_name WHERE condition

在上述语句中利用统计函数function来统计关于字段field的值。

1、统计数据记录条数

统计函数COUNT()用来实现统计数据记录条数,可以用来确定表中记录的条数或符合条件的记录条数。可以通过以下两种方式来实现该统计函数:

(1) COUNT(*) :该种方式可以实现对表中记录进行统计,不管字段中包含的是NULL值还是非NULL值。

(2) COUNT(field):该种方式可以实现对指定字段的记录进行统计,在具体统计时将忽略NULL值。

2、统计计算平均值

统计函数AVG()首先用来实现统计计算特定字段值之和,然后求得该字段的平均值。使用方式如下:

AVG(field):该方式可以实现对指定字段的平均值进行计算,在具体统计时将忽略NULL值。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式