上邊搭建環境的時候提到phoenix 高版本支持limit offset進行分頁,確實有了這個挺方便的。可是在使用過程當中也遇到了點問題,就是帶有order by時,直接在order by 以後使用limit offset 會出現問題,並且官方文檔這塊說實話寫的不太詳細。所以,本身在遇到這個問題的時候花了點時間摸索最終順利把問題解決。所以在這裏作下簡單的總結:spa
1) 不帶排序的狀況:select * from table_name limit X offset X 這仍是能夠的排序
2)帶排序的狀況, 而且多表關聯查詢,在這裏舉一個工做中的例子大概來講明一下:文檔
SELECT * FROM
(
SELECT it
<!--注意這裏不能含有* 不然出錯-->
A.TOPIC_ID TOPIC_ID, A.MEDIA_PLATFORM_ID MEDIA_PLATFORM_ID,
B.INFO_ID INFO_ID, B.INFO_HEADLING INFO_HEADLINGtable
FROM INFO_STATISTICS AS B INNER JOIN TOPIC_INFO_RELATED AS A
ON A.INFO_ID = B.INFO_ID
WHERE A.TOPIC_ID = #{topicId}
<if test="startDate != null and endDate != null">
AND A.PUBLISH_DAY BETWEEN #{startDate} AND #{endDate}
</if>
order by B.HEAT_RATE desc
offset #{start}
) limit #{rows}test
不過換成了這種以後查詢效率明顯要慢了,不過解決了個人問題。效率
若是你們有好的解決辦法,歡迎分享。。。。。。。。。。。。select