美文网首页
mysql之聚合函数

mysql之聚合函数

作者: 每天进步一点点变成更好的自己 | 来源:发表于2022-03-14 12:25 被阅读0次

mysql中有5种常用的聚合函数:sum()、avg()、max()、min()、count()
AVG():通过计算分组内指定字段值的和,以及分组内的记录数,算出分组内指定字段的平均值。

SUM():可以返回指定字段值的和。求和函数获取的是分组中的合计数据。如果涉及到多个字段分组,一定要知道字段之间有什么样的层次关系。
LEFT(str,n): 表示返回字符串str最左边的n个字符。

mysql>  SELECT
    ->     LEFT(b.transdate, 10), -- 从关联表获取交易时间,并且通过LEFT函数,获取交易时间字符串的左边10个字符,得到年月日的数据。
    ->     c.goodsname,           -- 从关联表获取商品名称
    ->     SUM(a.quantity),       -- 数量求和
    ->     SUM(a.salesvalue)      -- 金额求和
    -> FROM
    ->     demo.transactiondetails a
    ->         JOIN
    ->     demo.transactionhead b ON (a.transactionid = b.transactionid)
    ->         JOIN
    ->     demo.goodsmaster c ON (a.itemnumber = c.itemnumber)
    -> GROUP BY LEFT(b.transdate, 10) , c.goodsname      -- 分组
    -> ORDER BY LEFT(b.transdate, 10) , c.goodsname;     -- 排序
+-----------------------+-----------+-----------------+-------------------+
| LEFT(b.transdate, 10) | goodsname | SUM(a.quantity) | SUM(a.salesvalue) |
+-----------------------+-----------+-----------------+-------------------+
| 2020-12-01            | 书        |           2.000 |            178.00 |
| 2020-12-01            | 笔        |           5.000 |             25.00 |
| 2020-12-02            | 书        |           4.000 |            356.00 |
| 2020-12-02            | 笔        |          16.000 |             80.00 |
+-----------------------+-----------+-----------------+-------------------+
4 rows in set (0.01 sec)

AVG()函数:通过计算分组内指定字段值的和,以及分组内的记录数,算出分组内指定字段的平均值。
MAX()函数:表示获取指定字段在分组中的最大值。
MIN()函数:表示获取指定字段在分组中的最小值。
COUNT()函数:了解数据集的大小。

相关文章

网友评论

      本文标题:mysql之聚合函数

      本文链接:https://www.haomeiwen.com/subject/vgkpxrtx.html