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

Oracle SQL实现重复订单ID对应唯一编号的方法咨询

为唯一订单ID分配编号并生成简洁视图的实现方法

一、给order_id分配唯一id_number的具体实现

1. 数据库(SQL)场景

用窗口函数就能快速实现,两种写法满足不同需求:

  • 生成带编号的完整订单列表:
SELECT 
    order_id,
    DENSE_RANK() OVER (ORDER BY order_id) AS id_number
FROM your_order_table;
  • 直接生成简洁视图(每个order_id只显示一行对应编号):
SELECT DISTINCT
    order_id,
    DENSE_RANK() OVER (ORDER BY order_id) AS id_number
FROM your_order_table
ORDER BY id_number;

DENSE_RANK()会按order_id的顺序,给每个唯一值分配连续的编号,完全匹配你要的效果。

2. Excel场景

假设order_id在A列(从A2开始):

  • 分配编号:在B2输入公式=SUMPRODUCT(1/COUNTIF($A$2:A2,$A$2:A2)),下拉填充,就能得到从1开始的连续唯一编号;
  • 生成简洁视图:选中A列数据,点击「数据」→「删除重复值」,保留唯一的order_id后,再用上面的公式生成对应编号即可。

3. Python(Pandas)场景

用Pandas处理批量数据效率很高:

import pandas as pd

# 读取订单数据(替换成你的文件路径)
df = pd.read_csv("order_list.csv")

# 给每个唯一order_id分配从1开始的编号
df['id_number'] = df['order_id'].astype('category').cat.codes + 1

# 生成简洁视图:去重并按编号排序
simple_order_view = df[['order_id', 'id_number']].drop_duplicates().sort_values('id_number')

# 保存简洁视图到文件
simple_order_view.to_csv("simple_order_list.csv", index=False)

二、简洁视图的优化技巧

  • 直接给客户提供去重后的order_id与id_number对应表,完全避免重复行的干扰;
  • 如果需要保留原订单数据但要方便查看,可使用分组折叠功能:比如Excel的「数据分组」、SQL的GROUP BY聚合显示订单数量,或者Pandas的分组汇总,按需展开订单细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:40:27