一:对数据分组,然后排序,最后取出第一行数据
oracle:
INSERT INTO T_PRODUCT_GENDER(product_id, gender_list,sequence_num,asset_version)
SELECT product_id,
CASE
WHEN gender IS NULL THEN NULL
ELSE
CASE
WHEN SUBSTR(gender,-2) = '''s' THEN SUBSTR(gender,0,LENGTH(gender)-2)
WHEN SUBSTR(gender,-2) = '_s' THEN SUBSTR(gender,0,LENGTH(gender)-2)
ELSE gender
END
END gender,0,1
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY product_id ORDER BY asset_version DESC) rn, f.product_id,f.gender FROM t_product_frame f) WHERE rn = 1;