You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL新手求教:如何按国家合并行并汇总利润?

解决SQL多行数据按国家汇总的问题

兄弟,你的核心思路完全正确!用GROUP BY country配合SUM(Profit)来按国家汇总利润就是最标准的做法,先给你点个赞~

关于你疑惑的WHERE子句,其实它的作用是在汇总之前先过滤原始数据行,如果你的需求是汇总表中所有数据的利润,那WHERE子句完全可以直接去掉!

基础用法(无过滤需求)

直接执行下面的语句就行,记得把your_table_name换成你实际的表名:

SELECT country, SUM(Profit) AS Profit
FROM your_table_name
GROUP BY country
ORDER BY country; -- 按国家排序,ASC是升序(默认),换成DESC就是降序

这里的AS Profit是给汇总后的利润列起别名,让结果更易读,不加也可以,但建议加上。

有过滤需求的情况(需要WHERE子句)

如果只想汇总某一部分数据的利润,比如:

  • 只汇总2023年的利润:
SELECT country, SUM(Profit) AS Profit
FROM your_table_name
WHERE year = 2023
GROUP BY country
ORDER BY country;
  • 只汇总利润为正的行:
SELECT country, SUM(Profit) AS Profit
FROM your_table_name
WHERE Profit > 0
GROUP BY country
ORDER BY country;

简单来说,WHERE里填的是你想保留的原始数据行的条件,没有过滤需求就不用写它。

内容的提问来源于stack exchange,提问作者Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:02:35