请高手帮忙看一下这样的sql怎么写,谢谢了 有这么一批数据,相同的物料凭证、物料号、数量的绝对值相同可以对应出一批一批每两条对应的数据,我想从数据库中像这样的数据相同的只查出其中一条,也就是查出的数据不再是两条对应而是成为一条,有没有高手能写出这样的sql来,先谢谢了。也不知道说清楚了没 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 查询重复记录?用GROUP BY 可以解决。 select 物料凭证,物料号,sum(数量) from talbe group by 物料凭证,物料号 用GROUP BY 可以解决 或根据情况用distinct (不要高估你的汉语表达能力或者我的汉语理解能力) 建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。 select * from tbl where not exists(select 1 from tbl a where a.物料凭证=tbl.物料凭证 and a.物料号=tbl.物料号 and abs(a.数量)=abs(tbl.数量) and a.rowid>tbl.rowid); select * from tbl where not exists(select 1 from tbl a where a.物料凭证=tbl.物料凭证 and a.物料号=tbl.物料号 and abs(a.数量)=abs(tbl.数量) and a.rowid>tbl.rowid); 查询重复记录? 用GROUP BY 可以解决。 你的意思是你要再查询第一条相同的记录后再查询另一条相同的记录也可以?rowid应该可以吧! select * from( select A.*,row_number()over(partition by 物料凭证,物料号,数量 order by 物料凭证) rn from tbl A)where rn<2 oracle批量更新问题,表结构如下: OraClient10g和OraDB11g.真头疼. oracle9更改用户名问题 时间格式,麻烦高手顺便看下 初学者需求:oracle教程 如何查询本机上 另一个数据库 内的表记录? 动态创建表后,添加记录问题? 简单问题:怎样查出所有用户表:) 简单的问题 PLSQL 登录oracle数据库出现 “无法解析指定的连接标识符”错误 myeclipse连接oracle抛异常 oracle 位运算 怎么处理? 在线等!
用GROUP BY 可以解决。
group by 物料凭证,物料号
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
用GROUP BY 可以解决。
(
select A.*,row_number()over(partition by 物料凭证,物料号,数量 order by 物料凭证) rn from tbl A
)
where rn<2