翻譯|使用教程|編輯:吳園園|2020-06-16 14:24:24.223|閱讀 421 次
概述:SQL LIMIT子句限制SELECT語句返回的行數。對于SQL Server或MSAccess之類的Microsoft數據庫,您可以使用SELECT TOP語句來限制結果,這是Microsoft專有的等效于SELECT LIMIT語句。但是,對于大多數關系數據庫(DBMS),包括MySQL / MariaDB,PostgreSQL和Oracle,SQL LIMIT子句可以解決幾個問題。在今天的文章中,我們將使用Navicat for PostgreSQL探索其中的一些。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Navicat for PostgreSQL是一套專為PostgreSQL設計的強大數據庫管理及開發工具。它可以在PostgreSQL數據庫7.5以上的版本中運行,并且支持大部份最新的PostgreSQL功能,包括觸發器、函數檢索及權限管理等。Navicat的的功能不僅可以滿足專業開發人員的所有需求,而且對PostgreSQL的新手來說也相當容易學習。
點擊下載Navicat for PostgreSQL最新試用版
使用SQL限制關鍵字
SQL LIMIT子句限制SELECT語句返回的行數。對于SQL Server或MSAccess之類的Microsoft數據庫,您可以使用SELECT TOP語句來限制結果,這是Microsoft專有的等效于SELECT LIMIT語句。但是,對于大多數關系數據庫(DBMS),包括MySQL / MariaDB,PostgreSQL和Oracle,SQL LIMIT子句可以解決幾個問題。在今天的文章中,我們將使用Navicat for PostgreSQL探索其中的一些。
使結果集易于管理
在許多生產和測試數據庫中,表大小通常達到數百萬行,并且有數十列。因此,對數據庫運行SELECT *查詢絕不是一個好主意。將結果減少到一百或一千個有助于將結果集減少到更容易消化的大小。
Navicat開發和管理工具默認情況下會自動限制結果集,以防止使數據庫服務器緊張。打開表時,您可以看到它的運行情況。在應用程序窗口的底部,顯示了Navicat執行以獲取表行的SQL。它以“ LIMIT 1000 OFFSET 0”結尾,這意味著僅顯示前1000條記錄。
您可以在“ RECORDS選項”屏幕上更改默認顯示的記錄數,以完全顯示或關閉限制:
前N個查詢
顧名思義,前N個查詢是嘗試從結果集中查找記錄數最多的查詢。這可以是前1名,前3名,前5名,前10名或前[any]個數字。一些常見的示例是:
僅使用ORDER BY和WHERE子句而不使用LIMIT子句很難完成這些查詢。這是一個例子:
前5個唯一的作業ID
假設我們想在表中找到最重要的唯一作業ID。這是一個執行此操作的查詢:
DISTINCT關鍵字可確保從結果中刪除重復的ID。
給定日期最近的行
可以使用LIMIT查找最接近給定日期的行。您只需將行日期與給定日期進行比較,對結果進行排序,然后將結果限制為想要查看的行數。這是一個查詢,其返回的creation_date大于“ 2018-01-01”的行:
在這種情況下,最接近的日期是2018-01-02。
底部N個查詢
前N個查詢的推論是后N個查詢。這些查詢試圖從結果集中找到最低的記錄數。我們可以輕松地將“熱門”查詢轉換為它們的“等效”查詢!
底部5個唯一的作業ID
要返回最后5個唯一的作業ID,您需要做的就是在ORDER BY子句中刪除DESC修飾符。默認情況下,這將以升序(ASC)順序對記錄進行排序:
給定日期以下的最近行
在給定日期之前查找最接近的行同樣非常容易。我們只需要將大于'>'運算符更改為小于'<'并以降序(DESC)順序對結果進行重新排序:
結論
在今天的博客中,我們使用Navicat for PostgreSQL探索了LIMIT子句的幾種用法。想嘗試使用Navicat for PostgreSQL嗎?您可以免費完全評估14天!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: