39W0138 2013/09/22 1111 RMB 1110052-0-00
39W0138 2013/09/22 1111 RMB 1110052-0-00
39W0139 2013/09/23 3333 JPY 1110052-0-00
39W0139 2013/09/23 3333 JPY 1110052-0-00
39W0146 2013/09/22 3333 RMB 1110052-0-00
39W0146 2013/09/22 3333 RMB 1110052-0-00
39W0147 2013/09/22 3333 RMB 1110052-0-00
39W0147 2013/09/22 3333 RMB 1110052-0-00
39W0159 2013/09/11 3333 RMB 1110052-0-00
39W0159 2013/09/11 3333 RMB 1110052-0-00
39W0159 2013/09/11 3333 RMB 1110052-0-00
39W0179 2013/09/27 3333 JPY 1110052-0-00
39W0179 2013/09/27 3333 JPY 1110052-0-00
39W0179 2013/09/27 3333 JPY 1110052-0-00
39W0180 2013/09/27 3333 JPY 1110052-0-00
39W0180 2013/09/27 3333 JPY 1110052-0-00
39W0180 2013/09/27 3333 JPY 1110052-0-00
39W0181 2013/09/22 4205 USD 1110052-0-00
39W0181 2013/09/22 4205 USD 1110052-0-00
39W0181 2013/09/22 4205 USD 1110052-0-00
39W0182 2013/09/22 3133 HKD 1110052-0-00
39W0182 2013/09/22 3133 HKD 1110052-0-00
39W0182 2013/09/22 3133 HKD 1110052-0-00
39W0190 2013/09/30 3333 RMB 1110052-0-00 31321
39W0190 2013/09/30 3333 RMB 1110052-0-00 31321
39W0190 2013/09/30 3333 RMB 1110052-0-00 31321怎么在查询的时候去显示重复的数据
使用了 select distinct A,X from table 没效果
使用 group by 也没效果
上面的数据是我需要用到的数据,该表还有一些列没有显示出来,是不是这些没有显示出来的列影响了上面的方法?
大神们 出现吧! 要改项目 很急!!!!!!!!!!oracleselect
39W0138 2013/09/22 1111 RMB 1110052-0-00
39W0139 2013/09/23 3333 JPY 1110052-0-00
39W0139 2013/09/23 3333 JPY 1110052-0-00
39W0146 2013/09/22 3333 RMB 1110052-0-00
39W0146 2013/09/22 3333 RMB 1110052-0-00
39W0147 2013/09/22 3333 RMB 1110052-0-00
39W0147 2013/09/22 3333 RMB 1110052-0-00
39W0159 2013/09/11 3333 RMB 1110052-0-00
39W0159 2013/09/11 3333 RMB 1110052-0-00
39W0159 2013/09/11 3333 RMB 1110052-0-00
39W0179 2013/09/27 3333 JPY 1110052-0-00
39W0179 2013/09/27 3333 JPY 1110052-0-00
39W0179 2013/09/27 3333 JPY 1110052-0-00
39W0180 2013/09/27 3333 JPY 1110052-0-00
39W0180 2013/09/27 3333 JPY 1110052-0-00
39W0180 2013/09/27 3333 JPY 1110052-0-00
39W0181 2013/09/22 4205 USD 1110052-0-00
39W0181 2013/09/22 4205 USD 1110052-0-00
39W0181 2013/09/22 4205 USD 1110052-0-00
39W0182 2013/09/22 3133 HKD 1110052-0-00
39W0182 2013/09/22 3133 HKD 1110052-0-00
39W0182 2013/09/22 3133 HKD 1110052-0-00
39W0190 2013/09/30 3333 RMB 1110052-0-00 31321
39W0190 2013/09/30 3333 RMB 1110052-0-00 31321
39W0190 2013/09/30 3333 RMB 1110052-0-00 31321怎么在查询的时候去显示重复的数据
使用了 select distinct A,X from table 没效果
使用 group by 也没效果
上面的数据是我需要用到的数据,该表还有一些列没有显示出来,是不是这些没有显示出来的列影响了上面的方法?
大神们 出现吧! 要改项目 很急!!!!!!!!!!oracleselect
解决方案 »
- ASP+ORACLE 移植问题,Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
- 求救!!!
- 这条sql语句怎么写?想破了头
- 远程培训的风险性
- oracle连接问题
- olivertree(自古多情空余恨),beckhambobo(beckham), akinggom(kinggom,onejune4450(中文字符) 进来接分~!
- 一个关于编译PL/SQL代码的问题,紧急求救!
- 我购买了Oracle 9i的enterprise edition版,请问这是服务器版吗?另外Oracle 9i有哪几个版本?可以在winXP上安装吗?
- 高分求救!!!!!
- 怎么把有关联的行全部聚合成一行
- 在客户端查询数据问题
- 我是64bit的centos,我怎么看这几包是32bit的呢?怎么回事?
select * from (
select t.*, row_number() over(partition by a,b,c,d order by e) rn from t
) where rn = 1;如果是显示重复,那么用count() over(),取rn > 1可以看看分析函数的用法。
如下也可以查询重复的数据select col1,col2 from table group by col1,col2 having count(1)>=2
2 39W0139 2013/09/23 3333 JPY 1110052-0-00 239208.000 0 1
3 39W0146 2013/09/22 3333 RMB 1110052-0-00 23.000 0 1
4 39W0147 2013/09/22 3333 RMB 1110052-0-00 0.000 0 1
5 39W0159 2013/09/11 3333 RMB 1110052-0-00 324.000 0 1
6 39W0159 2013/09/11 3333 RMB 1110052-0-00 0.000 0 1
7 39W0179 2013/09/27 3333 JPY 1110052-0-00 23.000 0 1
8 39W0179 2013/09/27 3333 JPY 1110052-0-00 12.000 12 1
9 39W0180 2013/09/27 3333 JPY 1110052-0-00 20.000 0 1
10 39W0180 2013/09/27 3333 JPY 1110052-0-00 23.000 23 1
11 39W0181 2013/09/22 4205 USD 1110052-0-00 23.000 0 1
12 39W0181 2013/09/22 4205 USD 1110052-0-00 0.000 0 1
13 39W0182 2013/09/22 3133 HKD 1110052-0-00 87.000 0 1
14 39W0182 2013/09/22 3133 HKD 1110052-0-00 2323.000 2323 1
15 39W0190 2013/09/30 3333 RMB 1110052-0-00 10.000 0 1
16 39W0190 2013/09/30 3333 RMB 1110052-0-00 100.000 100 1
17 39W0220 2013/09/30 3333 RMB 1110048-0-00 10.000 0 1
18 39W0220 2013/09/30 3333 RMB 1110048-0-00 100.000 100 1
你们看图片对应我下面的话
原数据是26条 有相同的 其中有一列 附加金额区分(没显示出来)0:非附加金额 1:附加金额 使用你的Sql语句 是去掉了一些重复的数据 附加金额这一列会出现两个相同的 如果两个相同的数据 附加金额=0的那一列不显示 显示附加金额>0的这一列 还有就是 我要添加两列 一列 供应商(根据供应商编号查询) 一列 总金额(总金额=加工金额+附加金额) 这两列要怎么添加呢?
2 39W0180 2013/09/27 3333 JPY 1110052-0-00 0 760.000 0
3 39W0180 2013/09/27 3333 JPY 1110052-0-00 1 23.000 23
4 39W0179 2013/09/27 3333 JPY 1110052-0-00 0 23.000 0
5 39W0179 2013/09/27 3333 JPY 1110052-0-00 0 0.000 0
6 39W0179 2013/09/27 3333 JPY 1110052-0-00 1 12.000 12
7 39W0220 2013/09/30 3333 RMB 1110048-0-00 0 10.000 0
8 39W0220 2013/09/30 3333 RMB 1110048-0-00 0 20.000 0
9 39W0220 2013/09/30 3333 RMB 1110048-0-00 0 30.000 0
10 39W0220 2013/09/30 3333 RMB 1110048-0-00 1 100.000 100
11 39W0181 2013/09/22 4205 USD 1110052-0-00 0 23.000 0
12 39W0181 2013/09/22 4205 USD 1110052-0-00 0 0.000 0
13 39W0181 2013/09/22 4205 USD 1110052-0-00 1 0.000 0
14 39W0182 2013/09/22 3133 HKD 1110052-0-00 0 87.000 0
15 39W0182 2013/09/22 3133 HKD 1110052-0-00 0 22.000 0
16 39W0182 2013/09/22 3133 HKD 1110052-0-00 1 2323.000 2323
17 39W0138 2013/09/22 1111 RMB 1110052-0-00 0 32.000 0
18 39W0138 2013/09/22 1111 RMB 1110052-0-00 0 23.000 0
19 39W0159 2013/09/11 3333 RMB 1110052-0-00 0 324.000 0
20 39W0159 2013/09/11 3333 RMB 1110052-0-00 0 36.000 0
21 39W0159 2013/09/11 3333 RMB 1110052-0-00 1 0.000 0
22 39W0190 2013/09/30 3333 RMB 1110052-0-00 0 10.000 0
23 39W0190 2013/09/30 3333 RMB 1110052-0-00 0 20.000 0
24 39W0190 2013/09/30 3333 RMB 1110052-0-00 1 100.000 100
25 39W0147 2013/09/22 3333 RMB 1110052-0-00 0 0.000 0
26 39W0147 2013/09/22 3333 RMB 1110052-0-00 0 11.000 0
27 39W0139 2013/09/23 3333 JPY 1110052-0-00 0 239208.000 0
28 39W0139 2013/09/23 3333 JPY 1110052-0-00 0 11.000 0
29 39W0146 2013/09/22 3333 RMB 1110052-0-00 0 23.000 0
30 39W0146 2013/09/22 3333 RMB 1110052-0-00 0 20.000 0过滤条件是 每条加工费单号 只显示一条 , 如果相同编号的 附加金额都=0 就显示0 如果相同编号的 附加金额 里面有一条>0 就显示这 一条 , 还要添加两列 一列叫 供应商 这一列对应 供应商编号 另一列叫 总金额(总金额是取加工费单号相同的(没显示出来的加工费编号相同的) 总金额= 加工金额+附加金额)
大概就这些了
select 加工费单号, 供应商编号,总金额
from
(
select t.加工费单号, t.供应商编号,t.加工金额+t.附加金额 "总金额"
row_number() over(partition by 加工费单号 order by 附加金额 desc) rn
from t
)
where rn = 1;
你的Sql语句 加个SUM就不行了
from t
)group by t.加工费单号, t.供应商编号
;如果还需要其他字段的值,就用这个结果再去连表查询就行了
怎么都是oracle开发的问题啊?
csdn 这个版块不是讨论oracle dba 所遇到的问题的吗?
怎么都是oracle开发的问题啊?
这是基础板块 深奥一点的都是在高级技术区发帖 然后dba也很少发贴讨论什么 查资料最直接
这是基础板块 深奥一点的都是在高级技术区发帖 然后dba也很少发贴讨论什么 查资料最直接兄台知道有什么oracle dba讨论问题的论坛吗?感觉很少人探讨oracle dba 的问题的?