数据库统计数量语句

2022-11-21 投稿:林佳蓉 分享

1.查询表有多少条记录

select count(*) from table;

2.查询表中符合条件的记录数

select count(*) from table where id > 100;

3.查询每个分组的记录数

select name, count(*) as count from table group by name;

(1) 如果在开发中确实需要用到count()聚合,那么优先考虑count(*),因为mysql数据库本身对于count(*)做了特别的优化处理。

(2) 使用count()聚合函数后,最好不要跟where age = 1 这样的条件,会导致不走索引,降低查询效率,除非该字段已经建立了索引。使用count()聚合函数后,若有where条件,且where条件的字段未建立索引,则查询不会走索引,直接扫描了全表。 

(3) count(字段),非主键字段,这样的使用方式最好不要出现,因为它不会走索引。