您的位置:首页 > 数据库 > MySQL

Mysql之统计数据

2016-04-21 15:32 816 查看
计算表中数据的行数

Select count(*) from shohin;

Select count(shiire_tanka) from shohin;

计算和值

Select sum(hanbai_tanka) from shohin;

Select sum(hanbai_tanka) ,sum(shiire_tanka) from shohin;

--返回两条语句。

计算平均值

Select avg(hanbai_tanka) from shohin;

Select avg(hanbai_tanka) ,avg(shiire_tanka) from shohin;

---它会将NULL变成0进行计算。

计算最大值和最小值

Select max(hanbai_tanka),min(shiire_tanka) from shohin;

使用聚合函数删除重复值distinct

Select cout(distinct shohin_bunrui) from shohin;----计算去除重复数据后的数据行数

对表进行分组

Group by 子句

Select shohin_bunrui,count(*) from shohin group by shohin_bunrui;

Select shiire_tanka,count(*) from shohin group by shiire_tanka;

Select shiire_tanks,count(*) from shohin_bunrui = ‘衣服’ group by shiire_tanka;

Select ->from->where->group by

Ps:group by 子句中使用的别名会引发错误;

Having 通过特定分组后,制定特定条件来选取特定组的方法。//对集合指定条件

Select shohin_bunrui,count(*) from shohin group by shohin_bunrui having cout(*) = 2;

Select shohin_bunrui,count(*) from shohin group by shohin_bunrui; ---对比上面的结果可以发现差异

Select shohin_bunrui,avg(hanbai_tanka) from shohin group by shohin_bunrui;

Select shohin_bunrui,avg(hanbai_tanka) from shohin group by shohin_bunrui having avg(hanbai_tanka) >= 2500;

Ps:行条件对应的条件是应该写在where子句中,组条件对应的条件应该写在having语句中;

执行速度来看where 和 having:

Where子句执行在count()排序之前,不会加重对系统的负荷。Having在排序之后,会加重的系统的负荷,所以where会比having快。

对查询结果进行排序:order by

Select shohin_id,shohin_mei,hanbai_tanka from shohin;

Select lname from lname order by +排序基准;

Select shohin_id,shohin_mei,hanbai_tanka from shohin

order by hanbai_tanka desc;--按照销售单价从高到低排序;

指定多键排序:select shohin_id,shohin_mei,hanbai_tanka from shohin order by hanbai_tanka,shohin_id;

----按照销售单价和商品编号进行升序排序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: