求助 oracle 一条sql 语句, 急用 可以 加分
本帖最后由 likaiyihou512 于 2013-09-22 10:50:13 编辑
有表如下:
字段 X Y Z A
x 10 1 2
x 10 2 3
x 11 1
4
x 11 2
6
y 15 5 1
y 15 6 4
y 16 5
2
y 16 6
8
求: 按字段X 分组,取 Y 最大的记录,
例如 要得到的结果是:
x 11
4 6,
y 16
2 8
------解决方案--------------------看看懂你的z列是不是没有用到还是写错了呢?
select x,max(y),z,a group by x,z,a
------解决方案--------------------数据确实乱,不过语法大体和楼上一致
------解决方案--------------------你用decode转换一下吧
decode(z,1,a)a
decode(z,2,a)b
------解决方案--------------------最近学了个函数,来抛砖引玉一下:
WITH T AS
(SELECT 'x' X, 10 Y, 1 Z, 2 A
FROM DUAL
UNION ALL
SELECT 'x', 10, 2, 3
FROM DUAL
UNI