MySQL笔记-group by和聚合函数的使用

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL笔记-group by和聚合函数的使用相关的知识,希望对你有一定的参考价值。

group by:其实就是分组,把同类的组,数据放到一起,然后用聚合函数去统计。下面是详细的说明。

对应的SQL如下:

SELECT * FROM fund_earning_2022 ORDER BY create_time DESC

如下数据内容:

这里用2个域来测试下:

SELECT create_time, day_growth FROM fund_earning_2022 ORDER BY create_time DESC

如果用这样的SQL语句:

SELECT create_time, day_growth FROM fund_earning_2022 GROUP BY create_time ORDER BY create_time DESC

 会报这样的错:

1 queries executed, 0 success, 1 errors, 0 warnings

查询:SELECT create_time, day_growth FROM fund_earning_2022 group by create_time order by create_time desc LIMIT 0, 1000

错误代码: 1055
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'financial.fund_earning_2022.day_growth' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

执行耗时   : 0 sec
传送时间   : 0 sec
总耗时      : 0 sec

原有其实是这条语句对应的表可以理解成这样的。

create_timeday_growth
2022-2-150
0.0138735
2022-2-140.000195484
-0.0254191
2022-2-11-0.0000977326
-0.0242744

这里因为数据库操作的原子性,一列不能有两个数据,所以才会有错误提示的。

这里就要用到聚合函数了,如sum(day_growth)就不会报错了。如下SQL语句:

SELECT create_time, SUM(day_growth) FROM fund_earning_2022 GROUP BY create_time ORDER BY create_time DESC

 

以上是关于MySQL笔记-group by和聚合函数的使用的主要内容,如果未能解决你的问题,请参考以下文章

SQL中只要用到聚合函数就一定要用到group by 吗?

mysql_group by与聚合函数order by联合使用

MySQL 聚合函数MySQL对GROUP BY的处理

mysql group by 问题

mysql 从聚合函数group by到sql_mode

聚合函数和GROUP BY的问题