问题有方法之不要被四舍五入蒙蔽了双眼

本文描述了一个使用Distinct去除SQL查询结果中重复数据的问题排查过程。作者发现数据在最后一列存在四舍五入上的细微差别导致无法正确去重,并提出了统一数据格式作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 . 问题描述

本想使用Distinct去除结果中的重复数据。

结果出来,明明看到重复的数据却并没有去掉。

思来想去绝不是Distinct ,应该是数据有问题(有点废话)。

有想法,就验证下呗,既然Distinct 是按列数据进行重复判断,那就一列一列验证。(目前只想到这个笨方法)。

二 . 验证步骤:

1.  输入"select distinct 报关编号,物料名称 from tongji ",结果出来,与上图结果对比,说明有问题的数据在最后列

2.   由于结果是在存储过程中,通过多表合并查询得出的,为了便于查看源数据。把结果写到"tongji"表中。

     之后在设计器中(一定要在设计器打开,用查询语句看到的也是同样的数据)查看,此刻终于露出问题的

    庐山真面目,一条数据有四舍五入,另一条却没有,难怪没有逃过Distinct的法眼。

   

二 . 解决方法:

       问题知道了,合并查询时,每个结果集都转换下数据,保持一样的数据格式就可以了。

转载于:https://www.cnblogs.com/zzwen/p/3630187.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值