查询前几条记录SQL在不同数据库中的用法
查询前几条记录SQL在不同数据库中的用法
1. ORACLE
SELECT * from TABLE1 WHERE ROWNUM<=N
2. INFORMIX
SELECT FIRST N * from TABLE1
3. DB2
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N
或者
SELECT COLUMN from TABLE FETCH FIRST N ROWS ONLY
4. SQL SERVER
SELECT TOP N * from TABLE1
5. SYBASE
SET ROWCOUNT N
GO
SELECT * from TABLE1
6. MYSQL
SELECT * from TABLE1 LIMIT N
7. FOXPRO
SELECT * TOP N from TABLE ORDER BY COLUMN
8.postgres
SELECT * from TABLE LIMIT N
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列任一或所有功能:
将用户限定在表 ......
函数
SQLServer和Oracle的常用函数对比
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001 ......
SELECT
count
(
userName
)
from
`userInfo`
GROUP
BY
userName
HAVING
count
(
userName
)
>
1。
这个Having一定要放在GROUP BY的后面。
而且很特殊的情况是在有group by的时候,是不能用到where子句的。而且Having子句一般是放在其他子句的后面的。
当我们选不只一个栏位,且其 ......