count数据库用法?
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(字段),非主键字段,这样的使用方式最好不要出现,因为它不会走索引。
详解SQL中GroupBy的用法?
Group By 子句是将查询结果按某一列或多列的值分组的,值相等的为一组。 所以你想分出结果的哪组都行啊,只要是你查询的 使用having短语是为了指定筛选条件,即从Group by所分出来的分组结果中进行筛选 则having后面可以加条件 如: select sno from sc group by sno having count(*)>3