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

如何提取coldest_temp字段含NULL值的季节分组记录

提取含NULL值季节的所有记录的SQL方案

给定表格数据:

season | month | coldest_temp
-----------------------------
winter | Dec   |  -5
winter | Jan   |  -8
winter | Feb   |  NULL
spring | Mar   |  7
spring | Apr   |  10
spring | May   |  15

要提取coldest_temp字段存在NULL值的季节对应的所有记录,这里提供两种可行的SQL写法:

方法一:GROUP BY + HAVING 子查询关联

先筛选出存在NULL值的季节,再关联原表获取该季节的所有记录:

SELECT t.*
FROM your_table t
JOIN (
    SELECT season
    FROM your_table
    GROUP BY season
    -- 利用COUNT(字段)忽略NULL的特性,判断是否存在NULL
    HAVING COUNT(coldest_temp) <> COUNT(*)
) s ON t.season = s.season;

也可以用更直观的条件替换HAVING子句:

HAVING MAX(CASE WHEN coldest_temp IS NULL THEN 1 ELSE 0 END) = 1

方法二:EXISTS 子查询判断

直接检查当前记录所属季节是否存在NULL值的记录:

SELECT *
FROM your_table t
WHERE EXISTS (
    SELECT 1
    FROM your_table
    WHERE season = t.season
      AND coldest_temp IS NULL
);

两种方法都能得到目标结果,你可以根据自己的SQL环境选择更顺手的写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:15:19