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

如何合并两段SQL实现按编码前3位统计6月起止的记录数

合并后的可执行SQL

方案1(更通用,无需枚举前缀)

直接通过字符串截取函数取Code前3位作为分组维度,无需提前写死前缀规则,后续新增其他前缀也能正常统计:

SELECT 
    LEFT(Code, 3) AS Code,
    COUNT(*) AS "Count Code in June"
FROM Loan
WHERE MONTH(Start) = 6 OR MONTH(End) = 6
GROUP BY LEFT(Code, 3);

如果你的数据库不支持LEFT函数,替换为SUBSTRING(Code, 1, 3)即可。

方案2(沿用你原有CASE判断逻辑)

如果你需要保留之前写的前缀匹配规则,调整如下即可执行:

SELECT 
    CASE 
      WHEN Code LIKE 'SKX%' THEN 'SKX'
      WHEN Code LIKE 'SRP%' THEN 'SRP'
    END AS Code,
    COUNT(*) AS "Count Code in June"
FROM Loan
WHERE MONTH(Start) = 6 OR MONTH(End) = 6
GROUP BY CASE 
      WHEN Code LIKE 'SKX%' THEN 'SKX'
      WHEN Code LIKE 'SRP%' THEN 'SRP'
    END;

执行逻辑说明

  1. 先通过WHERE条件过滤出所有Start或End日期在6月的记录
  2. 按Code提取出的前3位前缀分组
  3. 统计每个分组的记录数,最终输出结果和你预期的完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:51:04