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

SQL查询返回NULL值求助:species_data表数据汇总异常

问题排查与SQL语句修正

我来帮你梳理下问题所在,你的SQL语句存在几个关键问题,才导致返回全NULL的结果:

问题分析

  • 语法错误:sum(database_value)后面缺少逗号,直接衔接CASE语句会导致数据库解析失败,这是最基础的语法问题。
  • 匹配条件完全不匹配:你写的science_name_short='rhodo'和表中实际数据完全不符——表中所有条目都是以Rhododendron开头的,根本没有等于rhodo的行,所以CASE语句返回NULL,最终整个结果集都是NULL。
  • 列名与期望输出不对应:你需要将CASE结果命名为NAME,sum的结果命名为Number,同时还要添加固定的ID列(因为你期望输出ID为1)。
  • 聚合逻辑不明确:你需要明确是汇总所有符合条件的行,要么用WHERE过滤后直接聚合,要么通过GROUP BY配合CASE来分组。

修正后的SQL语句

方案一(直接汇总,适合当前单一属的场景)

这个方案最简洁,直接过滤出目标数据后汇总:

SELECT 
    1 AS ID,
    'Rhododendron Species' AS NAME,
    SUM(database_value) AS Number
FROM species_data
WHERE science_name_short LIKE 'Rhododendron%';

方案二(分组聚合,适合未来多属扩展的场景)

如果后续需要对不同属分别汇总,可以用GROUP BY配合CASE实现:

SELECT 
    1 AS ID,
    CASE 
        WHEN science_name_short LIKE 'Rhododendron%' THEN 'Rhododendron Species'
    END AS NAME,
    SUM(database_value) AS Number
FROM species_data
GROUP BY CASE 
        WHEN science_name_short LIKE 'Rhododendron%' THEN 'Rhododendron Species'
    END;

执行结果

运行上述任意语句后,都会得到你期望的输出:

IDNAMENumber
1Rhododendron Species18

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:48:35