mysql的limit、order by和group by的用法
程序執行會重復
用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!轉載于:https://www.cnblogs.com/chxl800/p/6004639.html
總結
以上是生活随笔為你收集整理的mysql的limit、order by和group by的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP基础班初学感悟
- 下一篇: Android高德地图自定义Marker