mysql - 分组查询

分组函数,又称聚合函数,是将一类数据统计后获得一个值

 

1. 计算:

sum 求和

avg 平均值

max 最大值

min 最小值

count 个数    不管什么引擎下,count(*)效率最高

以上函数忽略null值

 

2.distinct 去重

sum(distinct id)  

先去重,再求和。

 

3.group by 分组

先分组,再统计

 SELECT money, COUNT(*) FROM account GROUP BY money

先按money的值分组,然后返回每组金额和这种金额的数目。

 

group by后面也可以跟函数等

 

可以多个字段: group by 字段1,字段2.  两个字段先后不影响结果。

 

4. union

结果需要能对应上,列数,类型 一致

SELECT * FROM account WHERE id = 2
UNION 
SELECT * FROM account WHERE id = 5

相当于

SELECT * FROM account WHERE id = 2 OR id = 5

 

union大部分情况效率比or要高

 

 

5.select语句的基本结构:

select 需要查询的字段

    from           表名

    where        条件

    group         by 分组字段

    having       groupby执行完之后的筛选条件

    order by    排列用字段 (desc降序/asc升序)

    limit         【起始条数(从0开始),】 最多条数 

posted @ 2019-11-03 12:07  不咬人的兔子  阅读(244)  评论(0编辑  收藏  举报