不同DBMS中限制结果sql的写法

来源:互联网 发布:如何对数据进行分析 编辑:程序博客网 时间:2024/06/03 20:49

  select语句返回指定表中所有匹配的行,很可能是每一行。如果你只想返回第一行或者一定数量的行,该怎么办呢?这是可行的,然而遗憾的是,在各种DBMS中的这一SQL实现并不相同。

1.SQL Server、Accessselect top 5 prod_name from products;2.db2 select prod_name from products fetch first 5 rows only;3.oracleselect prod_name from products where rownum <=5;4.MYSQL、MariaDB、PostgreSQL、SQLiteselect prod_name from products limit 5;为了得到后面的5行数据,需要指定从哪儿开始以及检索的行数:select prod_name from products limit 5 offset 5; (返回从第5行起的5行数据,第一个数字是检索的行数,第二个数字是指从哪儿开始)所以,limit指定返回的行数,limit带的offset指定从哪儿开始;

  注意:第一个被检索的行是第0行,而不是第一行。因此,limit 1 offset 1 会检索第二行,而不是第一行。
  提示:MYSQL、MariaDB、SQLift支持简化版的limit 4 offset 3 语句,即limit 3,4 使用这个语法,逗号之前的值对应offset,逗号之后的值对应limit

0 0
原创粉丝点击