日期:2014-05-17  浏览次数:20818 次

group by分组的一个问题
本帖最后由 fulong258 于 2014-02-27 19:32:58 编辑
id   num   flag

1   1    1
1   2    2
1   3    3
2   1    1
3   1    1
3   2    2
4   1    1
4   2    3
6   1    1

三个字段都是数字类型

我想得到
id   num   flag
1     3     3
2     1     1
3     2     2
4     2     3
6     1     1

根据ID分组,找num最大的那一行,我总拿不到flag的值啊


------解决方案--------------------
引用:
id   num   flag

1   1    1
1   2    2
1   3    3
2   1    1
3   1    1
3   2    2
4   1    1
4   2    3
6   1    1

三个字段都是数字类型

我想得到
id   num   flag
1     3     3
2     1     1
3     2     2
4     2     3
6     1     1

根据ID分组,找num最大的那一行,我总拿不到flag的值啊



with t as
 (select 1 id, 1 num, 1 flag
    from dual
  union all
  select 1 id, 2 num, 2 flag
    from dual
  union all
  select 1 id, 3 num, 3 flag
    from dual
  union all
  select 2 id, 1 num, 1 flag
    from dual
  union all
  select 3 id, 1 num, 1 flag
    from dual
  union all
  select 3 id, 2 num, 2 flag
    from dual
  union all
  select 4 id, 1 num, 1 flag
    from dual
  union all
  select 4 id, 2 num, 3 flag
    from dual
  union all
  select 6 id,