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

SQL查询需求:仅返回所有同ext行中nr全为NULL的ext

嘿,这个需求我太熟了!要找出那些所有对应行的nr字段全是NULL的ext,其实有好几种靠谱的写法,我给你列出来:

方法1:GROUP BY + HAVING(最直观的写法)

利用COUNT()函数不会统计NULL值的特性,对ext分组后,只要某个分组的非NULL nr数量为0,就说明这个ext的所有行nr都是NULL:

SELECT ext
FROM your_table_name
GROUP BY ext
HAVING COUNT(nr) = 0;

方法2:NOT EXISTS(大表场景可能更高效)

思路反过来:直接筛选那些不存在任何非NULL nr记录的ext,用NOT EXISTS排除掉有非NULL值的ext,最后用DISTINCT去重:

SELECT DISTINCT ext
FROM your_table_name t1
WHERE NOT EXISTS (
    SELECT 1
    FROM your_table_name t2
    WHERE t2.ext = t1.ext
    AND t2.nr IS NOT NULL
);

方法3:LEFT JOIN 排除法

通过左连接匹配出有非NULL nr的ext,然后筛选那些没匹配到的行(也就是关联表字段为NULL的情况):

SELECT DISTINCT t1.ext
FROM your_table_name t1
LEFT JOIN your_table_name t2
    ON t1.ext = t2.ext
    AND t2.nr IS NOT NULL
WHERE t2.id IS NULL;

小提示:记得把代码里的your_table_name替换成你实际使用的表名哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 16:17:43