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

如何截取PRODUCT_ID前缀并筛选去重后的唯一数据行?

解决方案

首先看你的原始数据:

STORE_IDPRICE_1PRODUCT_ID
10524.995157917035
10524.995157917035
10524.995157917036
10524.995157917036
10524.995157917037

你需要截取PRODUCT_ID的部分值(忽略最后3位)并过滤重复行,完全可以实现,以下是两种常用的实现方式:

方法1:用DISTINCT直接去重

通过字符串截取函数去掉PRODUCT_ID最后3位,再结合DISTINCT保留唯一的行组合:

SELECT DISTINCT
  STORE_ID,
  PRICE_1,
  LEFT(PRODUCT_ID, LENGTH(PRODUCT_ID)-3) AS TRUNCATED_PRODUCT_ID
FROM your_table_name;

方法2:用GROUP BY分组去重

如果后续需要对截取后的字段做聚合统计,用GROUP BY更灵活:

SELECT
  STORE_ID,
  PRICE_1,
  LEFT(PRODUCT_ID, LENGTH(PRODUCT_ID)-3) AS TRUNCATED_PRODUCT_ID
FROM your_table_name
GROUP BY STORE_ID, PRICE_1, LEFT(PRODUCT_ID, LENGTH(PRODUCT_ID)-3);

注:不同数据库的字符串截取函数略有差异,比如SQL Server用LEN()替代LENGTH(),Oracle用SUBSTR(PRODUCT_ID, 1, LENGTH(PRODUCT_ID)-3),但核心逻辑一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:11:00