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

如何在Presto SQL中筛选列特定值?排除指定列值方法咨询

在Presto SQL中筛选列特定值并排除指定内容的方法

当然可以实现这个需求!下面给你两种简单直接的方案,你可以根据自己的表结构和实际场景选择:

方案一:使用IN子句直接锁定目标值

这是最直观高效的方式,直接限定stall_type列只能是你需要的三个值,自动排除所有其他值(包括(Non-mall)):

SELECT *
FROM your_table_name  -- 替换成你的实际表名
WHERE stall_type IN ('High End', 'Mid End', 'Low End');

说明

  • IN子句会精确匹配列表中的字符串值,只要stall_type是这三个值之一就会被保留,其他所有值(比如(Non-mall))都会被过滤掉。
  • 如果你的表中stall_type只有这四个可能值(High End、Mid End、Low End、(Non-mall)),这个方案完全够用。

方案二:结合NOT明确排除特定值(提升代码可读性)

如果你的表中还有其他stall_type值,或者想让代码逻辑更清晰,可以在锁定目标值的同时明确写出排除条件:

SELECT *
FROM your_table_name
WHERE stall_type IN ('High End', 'Mid End', 'Low End')
  AND stall_type != '(Non-mall)';

其实方案一已经包含了排除(Non-mall)的逻辑,但这样写能让团队协作时的代码可读性更高。

额外小提示:处理大小写不统一的情况

如果stall_type列的值大小写混乱(比如有的是high end,有的是High End),可以用LOWER()函数统一转换后再匹配,避免漏选:

SELECT *
FROM your_table_name
WHERE LOWER(stall_type) IN ('high end', 'mid end', 'low end');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 07:49:05