select * from tab_1
where rowid in
(
select min(rowid) from tab_1 group by f1,f2
)
where rowid in
(
select min(rowid) from tab_1 group by f1,f2
)
解决方案 »
- 前缀匹配的问题
- 面试题目,求一个sql语句!
- 多列子查询匹配
- 储存到MSSQL里的字怎么变乱码了?
- SQL语句中如何使用负数查询?
- 请教: 表A和表B中分别有字段ypid,表A中某个记录的ypid字段内容改变后,怎么样使表B中ypid字段中和表A具有相同的内容的记录也会自动改变
- 为什么我打开表出现错误提示,说"未找到提供者.可能是未被下确安装"谁知道其原因啊
- 我用asp访问sqlserver出现如下错误
- microsoft Ado Data control 控件的问题
- 小白求救
- 求助:这个问题你碰到过吗?
- 谁能帮帮我?在Pb7 + SQL SERVER(通过MS SQL 连接)中字符字段不能返回大于255的值怎么办?
select f1,f2,max(f3),max(f4),max(f5)
group by f1,f2
select top(1)
group by f1,f2
你是什么数据库,top(1)也行!我用的Oracle,你的语句不行
select f1,f2,max(f3),max(f4),max(f5)
group by f1,f2
这样过后一条记录就不完整了!也就是说Select 后须是要是 * 才行
因为在pb中把max(f3),max(f4),max(f5)作为计算列,不能做更新,也就是不能用Update写入数据库中!还有什么办法吗?
from 表名 a 你试试
(select top 1 f4 from 表名 where f1=a.f1 and f2=a.f2 order by f3,f4,f5) as f4,
(select top 1 f5 from 表名 where f1=a.f1 and f2=a.f2 order by f3,f4,f5) as f5,
from 表名 a 对不起,一顺手就写错了
a为表名
我执行这样一句也要出错
select top 1 f1,f2 from table
为什么!
你的方法能行!
rowid是什么东西!
不好意思,没看到你是在oracle中,我写的是在SQl Server 中的查询,不好意思,
在oracle中用flyfk961(fk)的语句是对的。
对象号+相对文件号+块号+行号
通过确定rowid,可以确定一行记录
第一种方法!
select f1,f2,max(f3),max(f4),max(f5)
group by f1,f2
选出来之后取于变量中,组成一个sql,再insert到数据库!但不是很方便,我的实际数据库有几十个字段呢!
方法二:(用一些数据库的特有的东西)
oracle:
select * from a where rowid in (select max(rowid) from a group by f1,f2)
sqlserver:
1.
select DISTINCT a.f1,a.f2,(select top 1 f3 from 表名 where f1=a.f1 and f2=a.f2 order by f3,f4,f5) as f3,
(select top 1 f4 from 表名 where f1=a.f1 and f2=a.f2 order by f3,f4,f5) as f4,
(select top 1 f5 from 表名 where f1=a.f1 and f2=a.f2 order by f3,f4,f5) as f5,
from 表名 a
2.
select top(1)
group by f1,f2 sqlserver我没试,如果它有top 1这种用法那一定有办法!
所有我用了第二种!
这样我的数据窗口在检索出数据后,修改行标志,再update就写入库中了!!!
很简单!