mysql的count()

mysql的count(),第1张

count()是Mysql的内置函数,用于统计符合条件的行数。

一般用法:select count(*) from sql(sql语言)as name(别名)

select count(*) table_name

这里对count(1)和count(*)作对比

一般情况下,count(1)和count(*)返回的数据是相同的。

而效率方面也差不多。只是在有主键的情况下,count(*)是最快的。

两者都是记录null的行数

select count(a) from test 

-- 扫描a列的数据记录数,如果a上没有索引,则效率最差,并且如果a列包含null,则不会计数

您好,单个select语句实现MySQL查询统计次数的方法用处在哪里呢?用处太多了,比如一个成绩单,你要查询及格得人数与不及格的人数,怎么一次查询出来?

MySQL查询统计次数简单的语句肯定是这样了:

select a.name,count_neg,count_plus from

(select count(id) as count_plus,name from score2 where score >=60 group by name) a,

(select count(id) as count_neg,name from score2 where score <=60 group by name) b

where a.name=b.name

即必须至少用2个语句。

今天刚好碰到发现mysql支持if,那就创造性的用if来实现吧:

select name, sum(if(score>=60,1,0)),sum(if(score<60,1,0)) from score2 group by name

单个select语句实现MySQL查询统计次数的方法简单吧。

原理就是大于60,就赋值为1,那么sum就是计数了。

如何使用MySQL查询某个列中相同值的数量统计

可以通过用该字段分组计数获得。例如:

select

col1,count(col1)

as

cnt

from

t1

group

by

col1

这个查询可返回表t1的字段col1中每个值的重复次数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8600549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存