我遇到这样一种情况:我希望在新创建列中为相同的业务代码提供相同的自动增量值,我已在下面尝试过,但没有得到预期的结果
select * , rank() over (partition by business_code order by ID) from table
我在所有业务代码ID列中得到相同值,这不是所需结果我的输出
预期输出
wztqucjr1#
你可以试试下面的SQL语句:
SELECT id ,business_code ,DENSE_RANK() OVER (ORDER BY m) NewColumn FROM (SELECT id ,business_code ,MIN(id) OVER (PARTITION BY business_code) m FROM myTable) d
解释其工作原理:由于提供的数据,我想先得到每个business_code的最小id。然后按值对最小id进行排序。
qv7cva1a2#
使用此
select row_number() over (order by (select null)), a.* from Table a;
2条答案
按热度按时间wztqucjr1#
你可以试试下面的SQL语句:
解释其工作原理:由于提供的数据,我想先得到每个business_code的最小id。然后按值对最小id进行排序。
qv7cva1a2#
使用此