Mysql select 加上limit後結果不一致 有人知道是為什麼嗎?

時間 2021-06-24 15:58:57

1樓:mysqlops

再使用select * from test where update_time >= date_sub(curdate() , interval 29 day) limit 60,60;

這會資料就詭異了……顯示的結果是id 為 61 ~ 79 的資料……理論上是應該顯示62 ~ 79再加上id為1的資料……因為id為1的資料剛更新過。是最大的。

回答:LIMIT N,M中的含義:

1. N指從符合條件記錄的第N行記錄開始(注:含開始行);

2.指需要顯示的總行數;

3.你的SQL語句沒有指定排序,對於InnoDB儲存引擎不會預設用主鍵,而是預設選擇了WHERE條件欄位中擁有索引順序的 update_time欄位,而update_time值存在佔比大部分重複,故會出現不正確的情況;

4.SELECT * 換成 SELECT ID,則直接變成按主鍵排序,因為二級索引的葉子節點值為主鍵的值,故肯定對。

上述的理解是你資料不唯一和沒有寫指定ORDER的原因。 --- 此問題曾經剛加盟阿里的時候,內部很多開發諮詢過,還特意培訓過他們。

Li函式的定義是什麼?除了Li函式,其它的特殊函式還有哪些?

見楨 被稱為 偏移對數積分函式 Offset logarithmic integral function 或者 尤拉對數積分函式 Eulerian logarithmic integral function 定義如下 其中,為 對數積分函式 Logarithmic integral function...

GitHub Desktop 為什麼沒有 Linux 版本?

Yinr 感覺一般用 Linux 了也就不會去用 GitHub Desktop 了.直接終端解決了。GitHub Desktop 感覺也沒有多啥特別的東西.還有就是 GitHub Desktop 是 Electron 的,資源占用太大.所以還不如不要. 有第三方的來支援算不算有,不過都做的很爛就是了...

Windows server2008和linux在伺服器端有什麼區別?

newbie Go 1.最低配的雲伺服器,1CPU 1G 以及不到1G 可以用個Linux,跑個nginx提供點web服務沒問題。甚至還可以再加個mysql,跑點用php python golang等開發的動態的應用都還是可以。同樣的windows server,就完全沒法跑。至於資料庫服務,就完全...