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

Access中SQL分组查询问题:筛选有销量水果并每行显示总销量

解决Access SQL查询的需求:保留有销量水果的所有记录并显示总销量

看起来你差一点就搞定了!问题出在你把Fruit N°也加入了GROUP BY子句——这样操作会把每个Fruit N°单独分组,只会保留那些单个编号组有销量的记录,但你要的是:只要某个水果整体有销量,就保留它所有的Fruit N°条目(包括无销量的编号),同时每行显示该水果的总销量。

修正后的SQL代码

SELECT 
    ms.Fruit,
    ms.[Fruit N°],
    ts.TotalSales
FROM 
    MySheet ms
INNER JOIN 
    (
        SELECT Fruit, SUM(Sales) AS TotalSales
        FROM MySheet
        GROUP BY Fruit
        HAVING SUM(Sales) > 0
    ) ts ON ms.Fruit = ts.Fruit;

代码解释

  1. 子查询ts:先单独计算每个水果的总销量,并用HAVING SUM(Sales) > 0筛选出有销量的水果,这一步确保我们只保留整体有销量的水果类别。
  2. 主查询关联:通过Fruit字段将原表MySheet(别名ms)和子查询ts关联,这样就能获取该水果的所有Fruit N°记录——不管单个编号对应的销量是否为0,同时每行都会显示该水果的总销量。

这样就能完美匹配你想要的结果啦:既筛选出了有销量的水果,又保留了这些水果对应的所有Fruit N°记录,并且每一行都显示该水果的总销量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:22:33