91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
茂名市| 惠州市| 罗源县| 罗甸县| 伊川县| 上虞市| 喜德县| 重庆市| 军事| 西平县| 大名县| 东莞市| 定襄县| 广昌县| 三门峡市| 剑川县| 长海县| 浦北县| 贺州市| 远安县| 沅江市| 宜兴市| 淮北市| 逊克县| 镇坪县| 牟定县| 辰溪县| 额济纳旗| 漾濞| 临潭县| 陆河县| 东台市| 理塘县| 安远县| 宁武县| 师宗县| 文成县| 乐都县| 平陆县| 双流县| 连山|