select count(column) 、 select count(*) 和 select count(1) 的区别

 我来答
新科技17
2022-06-28 · TA获得超过5817个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:71.6万
展开全部

有次在统计页面的某个数值时,发现数据总会漏算,后面才知道,select (*)和select (column)是有区别的。

PS:菜是原罪啊!

据《高性能MySQL》一书记载:

总结:
select count(column) 对 特定的列 的值具有的行数进行计算,不包含 NULL 值。

select count(*) 对 的数目进行计算,包含 NULL。

当然,select count(1) 和 select count(*) 的结果是一样的。

1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;

2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = ‘value’ 这种查询;

3.杜绝SELECT COUNT(COL) FROM tablename WHERE COL2 = ‘value’ 的出现。

count(1) 跟 count(主键) 一样,只扫描主键。count(*) 跟 count(非主键) 一样,扫描整个表。明显前者更快一些。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TableDI
2024-07-18 广告
`VLOOKUP` 函数在 Excel 中通常是基于单个查找值在表的首列中进行查找,并返回相应行的某个单元格的值。但直接使用 `VLOOKUP` 来根据两个条件进行匹配是不可行的。然而,可以通过一些技巧来实现基于两个条件的查找,比如结合使用... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式