作者windknife18 (windknife18)
看板Database
标题Re: [SQL ] Group by,max的问题
时间Mon Feb 2 17:25:43 2009
我没有 Oracle 9i 不过用 mysql 玩了一下,使用 subquery 的技巧,不知道合不合用罗
我设定栏位名称为 a, b, c, d
select * from test
where (b,c,d) in (
select b,c,max(d)
from test
where (b,c) in (
select b,max(c) from test group by b
)
group by c);
答案如下, 至於有没有更好的方法我就没试罗
| a | b | c | d |
+------+------+------+------+
| 2222 | 1 | 1 | 2 |
| 5555 | 2 | 2 | 2 |
+------+------+------+------+
※ 引述《ultimateyes (CmLBat)》之铭言:
: 您好,小妹用Oracle 9i
: 我有一个table [version],
: 栏位有[版本编号],[项目编号],[母版本],[子版本]四个栏位
: 结果要依[项目编号]分组,找到每一组的[母版本]最大值,再找[子版本]的最大值,
: 显示出[版本编号]
: 例如:
: [版本编号][项目编号][母版本][子版本]
: -------------------------------------
: [1111] [1] [1] [1]
: [2222] [1] [1] [2]
: [3333] [2] [1] [1]
: [4444] [2] [2] [1]
: [5555] [2] [2] [2]
: 最後要列出
: [2222]和[5555]
: 我用了group by,order by,rownum等都试过了...试不出我要的答案
: 想问问大家单纯用SQL指令语法怎麽写(不搭配像PHP,VB等程式码)?
: 谢谢大家了!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.85.166