彩票走势图

数据库管理工具Navicat for PostgreSQL 使用教程:如何使用 SQL Limit 关键字

转帖|使用教程|编辑:鲍佳佳|2020-09-04 14:32:16.063|阅读 411 次

概述:SQL LIMIT 子句可以约束 SELECT 语句返回的行数。对于 SQL Server 或 MS Access 等 Microsoft 数据库,可以使用 SELECT TOP 语句来限制结果。但是,对于大多数关系数据库(DBMS),包括 MySQL/MariaDB、PostgreSQL 和 Oracle,SQL LIMIT 子句可以解决多个问题。在今天的文章中,我们将使用 Navicat for PostgreSQL 来探索其中的一些 LIMIT 的用法。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

SQL LIMIT 子句可以约束 SELECT 语句返回的行数。对于 SQL Server 或 MS Access 等 Microsoft 数据库,可以使用 SELECT TOP 语句来限制结果,这是 Microsoft 专有的 SELECT LIMIT 语句。但是,对于大多数关系数据库(DBMS),包括 MySQL/MariaDB、PostgreSQL 和 Oracle,SQL LIMIT 子句可以解决多个问题。在今天的文章中,我们将使用 Navicat for PostgreSQL 来探索其中的一些 LIMIT 的用法。

Navicat for PostgreSQL 是一套易于使用的图形化 PostgreSQL 数据库管理工具。使用强劲的 SQL 编辑器创建和运行查询、函数和使用多功能的数据编辑工具管理你的数据。Navicat for PostgreSQL 能连接到任何本机或远程版本 7.3 或以上的 PostgreSQL 数据库服务器,并支持所有 PostgreSQL 数据库对象。点击获取正版授权>>

点击下载Navicat for PostgreSQL 最新试用版

保持结果集易于管理

在许多生产和测试数据库中,表大小通常达到数百万行并且有数十列。因此,对数据库运行 SELECT * 查询绝不是一个好主意。将结果保持在一百或一千行可以将结果集保持在更易消化的大小。

Navicat 开发和管理工具默认自动限制结果集,以防止对数据库服务器造成过度负担。当打开表时,你可以看到它的运行情况。在应用程序窗口的底部,显示 Navicat 获取表行时运行的SQL。它以“LIMIT 1000 OFFSET 0”结束,这意味着只显示前 1000 条记录。

你可以在“记录”选项屏幕上更改默认要显示的记录数或关闭限制:

最前 N 个的查询

顾名思义,最前 N 的查询是那些试图从结果集中查找最前数目的记录的查询。这可能是最前 1 、最前 3 、最前 5 、最前 10 或最前 [任意] 数字。一些常见的例子是:

  • 查找薪酬最高的前 10 名员工
  • 查找盈利最多的前 20 名客户
  • 查找系统中的前 3 个用户

仅使用 ORDER BY 和WHERE 子句而不使用 LIMIT 子句是很难处理这些查询。这是一个例子:

最前 5 个唯一的 Job ID

假设我们想在表中找到最前的唯一 Job ID。这是执行此操作的查询:

DISTINCT 关键字确保从结果中删除重复的 ID。

给定日期最接近的行

你可以使用 LIMIT 找到给定日期最接近的行。只需将行日期与给定日期进行比较,对结果进行排序,并将结果限制为你希望查看的行数。以下的查询返回 creation_date 大于 '2018-01-01' 的行:

在这种情况下,2018-01-02 是最接近的日期。

最后 N 个的查询

最前 N 个的查询的必然产物是是最后 N 个的查询。这是尝试从结果集中查找最后数目的记录的查询。我们可以很容易地将我们的“最前”查询转换为等效的“最后”查询!

最后 5 个唯一的 Job ID

若要返回最后 5 个唯一 Job ID,你需要做的就是删除 ORDER BY 子句中的 DESC 修饰符。默认情况下,这将按升序(ASC)顺序排序记录:

给定日期之前最接近的行

在给定日期之前找到最接近的行同样相当容易。我们只需要将大于 '>' 的运算符更改为小于 '<',并按降序(DESC)顺序重新排序结果:

在今天的文章中,我们使用 Navicat for PostgreSQL 探索了 LIMIT 子句的一些用法。你都学会了吗?赶紧点击下载使用吧!点击获取更多免费的文章教程


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP