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_time | day_growth |
2022-2-15 | 0 0.0138735 |
2022-2-14 | 0.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和聚合函数的使用的主要内容,如果未能解决你的问题,请参考以下文章