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