mysql group by,count一些用法

统计 一些信息以及每个分组的个数    SELECT  a.name, a.phone, count(*) AS sum FROM xxx AS a GROUP BY a.order_id  


统计 group by 之后的总条数(一共分了多少组)    SELECT COUNT(*) AS count_id FROM ( SELECT a.order_id FROM xxx group by a.order_id ) t


count(*)如果和group by 同一层的话 统计出来的数据是每个组的数据条数,如果想知道group by之后有多少个组要嵌套一下才可以
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GROUP BY 是用于将结果集按照一个或多个列进行分组的 SQL 关键字。它通常与聚合函数(如 COUNT、SUM、AVG、MAX、MIN)一起使用,以计算每个分组的结果。以下是 GROUP BY 的使用方法: 1. 基本语法: ``` SELECT column1, column2, ..., aggregate_function(column) FROM table_name WHERE condition GROUP BY column1, column2, ...; ``` 2. 例子: 假设我们有一个名为 `orders` 的表格,其中包含以下列: | order_id | customer_id | order_date | order_amount | | -------- | ----------- | ---------- | ------------ | | 1 | 101 | 2021-01-01 | 100 | | 2 | 102 | 2021-01-02 | 200 | | 3 | 101 | 2021-01-03 | 150 | | 4 | 103 | 2021-01-04 | 50 | | 5 | 102 | 2021-01-05 | 300 | 我们可以使用 GROUP BY 来计算每个客户的总订单金额: ``` SELECT customer_id, SUM(order_amount) FROM orders GROUP BY customer_id; ``` 这将返回以下结果: | customer_id | SUM(order_amount) | | ----------- | ---------------- | | 101 | 250 | | 102 | 500 | | 103 | 50 | 我们也可以使用 GROUP BY 来计算每个客户的平均订单金额: ``` SELECT customer_id, AVG(order_amount) FROM orders GROUP BY customer_id; ``` 这将返回以下结果: | customer_id | AVG(order_amount) | | ----------- | ---------------- | | 101 | 125 | | 102 | 250 | | 103 | 50 | 需要注意的是,GROUP BY 子句中的列必须出现在 SELECT 子句中或者是聚合函数中,否则会出现错误。同时,使用 GROUP BY 时,应该确保 WHERE 子句中使用的条件不会影响分组结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值