一个group by查询问题 select * from tablename awhere f2=(select max(f2) from tablename bwhere b.f1=a.f1) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select a.* from tablename a,(select f1,max(f2) f2 from tablename group by f1) bwhere a.f1=b.f1 and a.f2=b.f2; select * from table where (f1,f2) in (select f1,max(f2) from table group by f1) sbaz和czbbbs差不多,只是一个是等于一个是in,现在还有一个问题,如果f2最大的有2个,而我只想返回这当中的任意一条,该怎么写?还有,请回答一下为什么select里的字段出现在group by 里才行,是所有数据库都这样要求的吗?谢谢 我不知道czbbbs() 在语法上能不能通过,有点怀疑!select里的字段出现在group by 里才行是所有数据库都是这样的。如果只想返回1条,用分析函数是最好的了。其它都会很麻烦。 SELECT a.f_1, a.f_2, a.f_3FROM t_Test aJOIN ( SELECT f_1,max(f_2),Max(ROWID) AS f_ID FROM T_Test GROUP BY f_1)b ON a.ROWID = b.f_ID 只能这样啦!一般有个唯一ID就容易多啦!不然就用系统的RowID!这样保证重复的记录就选其中一个! 最好不用oracle特有的rownum之类的东西,而用标准的sql。为什么要这么做呢..其实我们切换数据库的机会一般都不会很大.. sbaz(万神渡劫) ( ) 信誉:100 2006-06-27 12:02:00 得分: 0 select a.* from tablename a,(select f1,max(f2) f2 from tablename group by f1) bwhere a.f1=b.f1 and a.f2=b.f2; 他的方法可取 PLSQL Developer 执行语句 重启数据库,对应用系统有什么影响??? VC++使用ODBC连接Oracle数据库 BI Beans连接时提示找不到metadata??? 这个格式怎么实现? 在oracle 10G的管理控制台上,我不能修改一个日期型数值。 请教一个SQL语句 如何用sqlldr导入多个text文件到oracle里,急用,分不够的再给 对sysdate进行加1秒钟,如何写sql! 数据库的备份与恢复 关于还原ORACLE的问题 VB连接oracle数据库,执行update语句时怎样写代码提交事务?
from tablename a,(select f1,max(f2) f2 from tablename group by f1) b
where a.f1=b.f1 and a.f2=b.f2;
from table
where (f1,f2) in (select f1,max(f2) from table group by f1)
select里的字段出现在group by 里才行是所有数据库都是这样的。如果只想返回1条,用分析函数是最好的了。其它都会很麻烦。
a.f_1,
a.f_2,
a.f_3
FROM t_Test a
JOIN
(
SELECT f_1,max(f_2),Max(ROWID) AS f_ID
FROM T_Test
GROUP BY f_1
)b ON a.ROWID = b.f_ID
这样保证重复的记录就选其中一个!
select a.*
from tablename a,(select f1,max(f2) f2 from tablename group by f1) b
where a.f1=b.f1 and a.f2=b.f2;
他的方法可取