Orcle查询组合字段重复的数据

oracle拼接字符串

在Oracle中,可以使用||运算符或CONCAT函数来拼接字符串。

使用||运算符:

SELECT 'Hello, ' || 'World!' AS concatenated_string FROM dual;

使用CONCAT函数:

SELECT CONCAT('Hello, ', 'World!') AS concatenated_string FROM dual;

orcle查询重复数据

在Oracle数据库中,查询重复数据通常意味着你想找出那些在特定列或列组合中有重复值的行。以下是一个示例SQL查询,它找出在your_table表中duplicate_column列上有重复值的所有行:

SELECT duplicate_column, COUNT(*)
FROM your_table
GROUP BY duplicate_column
HAVING COUNT(*) > 1;

如果你想获取重复数据的所有列信息,可以使用以下查询:

SELECT *
FROM your_table
WHERE duplicate_column IN (
    SELECT duplicate_column
    FROM your_table
    GROUP BY duplicate_column
    HAVING COUNT(*) > 1
);

如果你想获取重复数据的所有列信息,并且希望保留重复数据中的一个记录,其余的标记为重复,可以使用以下查询:

SELECT a.*, 'Duplicate' as duplicate_flag
FROM your_table a
WHERE a.rowid = (
    SELECT min(b.rowid)
    FROM your_table b
    WHERE a.duplicate_column = b.duplicate_column
    GROUP BY b.duplicate_column
    HAVING COUNT(*) > 1
)
UNION ALL
SELECT a.*, 'Duplicate' as duplicate_flag
FROM your_table a
JOIN (
    SELECT duplicate_column
    FROM your_table
    GROUP BY duplicate_column
    HAVING COUNT(*) > 1
) b ON a.duplicate_column = b.duplicate_column
AND a.rowid <> (SELECT min(c.rowid) FROM your_table c WHERE c.duplicate_column = b.duplicate_column);

举个栗子

select xjh || '@' || xxdm,count(*)
from stu_info
group by xjh || '@' || xxdm
having count(*) > 1

  • 14
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值