分组情况下求分组数据中某字段小于且最接近一个定值得查询
据个例子
由数据表数据如下:(共三个字段#z1 #z2 #z3)
#z1 #z2 #z3
a b 2
a b 1
a b 7
c d 3
c d 5
f g 4
f g 2
f w 1
f q 4
要求按#z1 #z2 分组后组数据中#z3得值小于且最接近 6 的数据。要求结果如下:
#z1 #z2 #z3
a b 2
c d 5
f g 4
f w 1
f q 4
小弟实在是写不出来,还望大哥们帮小弟一把!~
据个例子
由数据表数据如下:(共三个字段#z1 #z2 #z3)
#z1 #z2 #z3
a b 2
a b 1
a b 7
c d 3
c d 5
f g 4
f g 2
f w 1
f q 4
要求按#z1 #z2 分组后组数据中#z3得值小于且最接近 6 的数据。要求结果如下:
#z1 #z2 #z3
a b 2
c d 5
f g 4
f w 1
f q 4
小弟实在是写不出来,还望大哥们帮小弟一把!~
解决方案 »
- bat并发执行sqlldr命令,并监控完成状态的问题
- 这条分页语句有问题吗?
- oracle 高级复制工具怎么使用啊?
- Unix下Oracle数据库连接问题,急请高手帮助!!!
- 请问 oracle 12个月份
- 安装Oracle 9i是开始的一个错误
- 关于触发器的问题(急,在线等)
- 大家经常提到的关于update问题(exists(select 1 from temp_xdata b where b.userid = 1 and b.colname = 'mcxh' and a.mcnbxh = b.olddat
- 关于运用UTL_FILE包读取文本文件,急用!在线等待!!!
- 散分! 四个月四个角,我要一颗星!散分散分!!!
- 如何去掉表前面得用户前缀?
- 关于公式字段的计算问题,给个思路也可以!
FROM TABLE_NAME
WHERE #Z3<6
GROUP BY #Z1,#Z2
2 select col1, col2, col3, col4, row_number() over(partition by col1, col2 order by col4) col5 fr
om (
3 select col1, col2, col3, 6-col3 col4 from test2)
4 where col4>0
5 )
6 where col5=1;COL1 COL2 COL3
-------------------- -------------------- ----------
a b 2
c d 5
f g 4
f q 4
f w 1zhang@zhang>select * from test2;COL1 COL2 COL3
-------------------- -------------------- ----------
a b 2
a b 1
a b 7
c d 3
c d 5
f g 4
f g 2
f w 1
f q 49 rows selected.zhang@zhang>select col1, col2, col3 from (
2 select col1, col2, col3, col4, row_number() over(partition by col1, col2 order by col4) col5 fr
om (
3 select col1, col2, col3, 6-col3 col4 from test2)
4 where col4>0
5 )
6 where col5=1;COL1 COL2 COL3
-------------------- -------------------- ----------
a b 2
c d 5
f g 4
f q 4
f w 1
from ( select z1 r1,z2 r2,min(6-z3 ) r3
from zz
where z3 <= 6
group by z1,z2
order by z1,z2) r;