gpt4 book ai didi

mysql - 无法获得正确的分组依据表达式

转载 作者:行者123 更新时间:2023-11-29 08:05:25 25 4
gpt4 key购买 nike

我正在使用Mysql来查询数据库。我有一个水果表,我编写了一个查询来获取特定月份水果的销售金额。我的查询如下,

 select fruit_code, fruit_name, yyyymm, amt from fruits;  

它返回以下类型的结果集

     fruit_code |  fruit_name | yyyymm | amt
-----------------------------------------
A | Apple | 201401 | 100
A | Apple | 201402 | 150
A | Apple | 201403 | 200
A | Apple | 201403 | 170

但我想要的是,如果 yyyymm 相同,则应添加 amt 值。所以我尝试了下面的查询

 select fruit_code, fruit_name, yyyymm, SUM(amt) from fruits group by yyyymm;

但它给了我这个

  fruit_code | fruit_name | yyyymm | amt
----------------------------------------
A | Apple | 201401 | 570

此处,amt 列中的所有值均已添加,并且仅返回一行。

我需要的是如下所示的结果集

    fruit_code | fruit_name | yyyymm | amt
----------------------------------------
A | Apple | 201401 | 100
A | Apple | 201402 | 150
A | Apple | 201403 | 370

我不太明白我哪里出了问题。请用正确的分组表达方式向我提出建议。

最佳答案

使用 selectfruit_code,fruit_name,yyyymm,SUM(amt) fromfruitsgroup by yyyymm;,您正在使用 SQL 标准的 MySQL 增强功能。

您按 yyyymm 进行分组,并且要求 dbms 提供:

  • 该 yyyymm 的所有金额总和,无论是什么水果
  • 其中一个记录与 yyyymm 匹配的fruit_codes
  • 记录与 yyyymm 匹配的水果名称之一

您可能想要的是:

select fruit_code, fruit_name, yyyymm, SUM(amt)
from fruits
group by fruit_code, fruit_name, yyyymm;

关于mysql - 无法获得正确的分组依据表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22832518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com