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开始),】 最多条数