select * from activity where bizsequence = '3533dc4f-00f5-1000-e000-000fc0a858ba' and rownum <= 1 order by operateDate desc
解决方案 »
- <--------请教一个很简单的查询---------->
- 高分求助,sql优化
- 使用ADO时的问题(VC++)请高手指点,急!!!
- 关于OracleOraHome92ManagementServer服务
- ORACLE中新建用户遇到的问题
- 请问如何结果集中的某一个字段的所有值合并成一个字符串(给100分)
- 有关临时表问题(请帮忙从一个SQLServer 2000的一个语句改到Oracle中来)
- 在sql plus下能提取oracle的所有数据表吗?
- 安装oracle8.0.5时的小问题
- 我想在我本机访问另一台远程机的ORACLE,另一台机子不在内网,只能通过互联网访问,怎么做?开放端口?
- oracle817安装问题(RedHat7。3环境下)
- extract(year from :dt)出错?
1. SQL SERVER : 用 TOP N (WITH TIES)
M1:
SELECT TOP N * FROM MYTABLE ORDER BY ORD_COL;
M2:
SELECT TOP N WITH TIES * FROM MYTABLE ORDER BY ORD_COL;
注: SQL SERVER 7提供了PERCENT N WITH TIES, ACCESS 中提供了TOP N,但含义是M 2.
2. ORACLE 8i: 用 ROWNUM<=N
M1:
SELECT * FROM
( SELECT * FROM MYTABLE ORDER BY ORD_COL DESC)
WHERE ROWNUM<=N
M2:
SELECT * FROM MYTABLE WHERE ORD_COL>=
(SELECT MIN(ORD_COL) FROM
( SELECT * FROM MYTABLE ORDER BY ORD_COL DESC)
WHERE ROWNUM<=N)
ORDER BY ORD_COL DESC
注意以下两种错误用法:
WRONG 1:
SELECT * FROM MYTABLE
WHERE ROWID<=N
ORDER BY ORD_COL DESC;WRONG 2:(因为WHERE ROWNUM<=N 在ORDER BY 前执行)
SELECT * FROM MYTABLE
WHERE ROWNUM<=N
ORDER BY ORD_COL DESC;3: DB2
用FETCH FIRST N ROWS ONLY
M1:
SELECT * FROM MYTABLE
ORDER BY ORD_COL DESC
FETCH FIRST N ROWS ONLY
M2:
没有找到,因为DB2不允许在FROM中嵌套有ORDER BY子句的子查询.