中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Oracle listagg去重distinct的方式有哪些

小億
334
2024-03-02 19:48:29
欄目: 云計算

在Oracle中,可以使用不同的方法來實現在使用LISTAGG函數時去重重復的值。以下是一些常用的方法:

  1. 使用子查詢和ROW_NUMBER()函數:
SELECT LISTAGG(column_name, ',') WITHIN GROUP (ORDER BY column_name) AS result
FROM (
    SELECT column_name, ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY column_name) rn
    FROM table_name
)
WHERE rn = 1;
  1. 使用GROUP BY子句:
SELECT LISTAGG(DISTINCT column_name, ',') WITHIN GROUP (ORDER BY column_name) AS result
FROM table_name;
  1. 使用CONNECT BY子句:
SELECT LISTAGG(column_name, ',') WITHIN GROUP (ORDER BY column_name) AS result
FROM (
    SELECT column_name, ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY column_name) rn
    FROM table_name
)
START WITH rn = 1
CONNECT BY PRIOR column_name = column_name AND PRIOR rn = rn-1;

這些方法可以根據具體需求選擇合適的方式來去重重復的值。

0
泗洪县| 应用必备| 大名县| 星座| 邯郸市| 会东县| 静乐县| 奈曼旗| 合作市| 特克斯县| 德清县| 萍乡市| 武清区| 湄潭县| 故城县| 宣恩县| 财经| 荥阳市| 慈利县| 美姑县| 保定市| 高安市| 资兴市| 台前县| 元阳县| 庆城县| 古蔺县| 开江县| 扶沟县| 梁山县| 赣榆县| 广汉市| 奉节县| 竹溪县| 勃利县| 西城区| 赫章县| 太和县| 青铜峡市| 翁源县| 吉木乃县|