程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> mysql的limit、order by和group by的用法

mysql的limit、order by和group by的用法

編輯:MYSQL入門知識

程序執行會重復

用mysql很長時間,limit是分頁的一個好工具,

select * from table_a where num = 4 limit 1,10,

select * from table_a where num = 4 limit 10,10,

今天突然發現有些數據怎麼也不會出來

也就是說第一頁的數據會重復顯示在第二頁,有些在數據庫的數據不會被查詢出來

這樣就造成了數據的缺失,如果用

select * from table_a where num = 4 order by num1 ASC limit 1,10,

select * from table_a where num = 4 order by num1 ASC limit 10,10,

可以解決這個問題。

於是開始有group by的問題

select * from table_a where num = 4 group by num1 order by num1 ASC limit 1,10,

select * from table_a where num = 4 group by num1 order by num1 ASC limit 10,10,

這樣又會出現數據缺失的問題

這時候只有增加排序的字段來處理這個問題

也就是

select * from table_a where num = 4 group by num1 order by num1, num2 ASC limit 1,10,

select * from table_a where num = 4 group by num1 order by num1, num2 ASC limit 10,10,

這樣也只是目前解決了這個問題,如果說相同的字段很多,那這個方法也會出現問題

Live together,or Die alone!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved