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

编写含DISTINCT与CASE的SQL查询遇语法错误,求解决方案

问题排查与修正方案

错误原因

你的SQL存在三处语法/逻辑问题,直接导致了lint报错:

  • 缺少列分隔逗号:SELECT子句里time_created和CASE语句之间没有加逗号,SQL解析器会误将CASE当成time_created的后续操作,触发语法识别错误。
  • 未实现去重逻辑:没有添加DISTINCT关键字,无法满足“返回唯一id行”的需求。
  • 类型不匹配:category是大整数型,WHERE条件里用字符串引号包裹数值,会引发不必要的类型转换问题。

修正后的SQL

SELECT DISTINCT
  ID,
  time_created,
  CASE
    WHEN status = 'good' THEN 'GOOD'
    WHEN status = 'bad' THEN 'BAD'
  END AS STATUS_new
FROM TBL
WHERE CATEGORY = 871654671
ORDER BY time_created

关键修改说明

  • 在time_created后添加逗号,让CASE语句被正确识别为独立查询列。
  • 开头添加DISTINCT,确保返回的id是唯一的。
  • 去掉WHERE中871654671的引号,匹配category的大整数类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:24:25