亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL偏移無窮行

MySQL偏移無窮行

慕蓋茨4494581 2019-07-13 14:44:30
MySQL偏移無窮行我想要構造一個查詢,它顯示一個表中的所有結果,但從表的開頭被5所抵消。據我所知,MySQL的LIMIT需要一個限制和一個偏移。有什么辦法嗎?
查看完整描述

3 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

MySQL限制手冊:

要從某個偏移量中檢索到結果集末尾的所有行,可以為第二個參數使用一些較大的數字。此語句檢索第96行到最后一行的所有行:

SELECT * FROM tbl LIMIT 95, 18446744073709551615;


查看完整回答
反對 回復 2019-07-13
?
弒天下

TA貢獻1818條經驗 獲得超8個贊

正如您所提到的,限制是必需的,所以您需要使用最大的限制,即18446744073709551615(最大未簽名的BIGINT)。

SELECT * FROM somewhere LIMIT 18446744073709551610 OFFSET 5


查看完整回答
反對 回復 2019-07-13
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

正如其他答案所指出的,mysql建議使用18446744073709551615作為限制中的記錄數,但請考慮以下幾個問題:如果返回18,446,744,073,709,551,615條記錄,您會做什么?事實上,如果你有10億條記錄,你會怎么做?

也許你想要超過10億張唱片,但我想說的是,你的數字是有限度的。想要,小于18分之一個。為了穩定性、優化以及可能的可用性,我建議對查詢設置一些有意義的限制。這也將減少對那些從未見過那個神奇的數字的人的困惑,并且有一個額外的好處,那就是至少有多少你愿意同時處理的記錄。

如果你真的必須從你的數據庫中得到所有的18個五分之一的記錄,也許你真正想要的是以1億的增量獲取它們,并循環1840億次。


查看完整回答
反對 回復 2019-07-13
  • 3 回答
  • 0 關注
  • 649 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號