我正在嘗試編寫一個mysql查詢,以便我可以搜索表的前10行並在同一查詢中獲取總行數。從同一個查詢中獲取總行數和表中的前10行
即結合
SELECT * FROM myTable LIMIT 10; // Get First 10 Rows
和
SELECT COUNT(*) as cnt FROM myTable // Total Row Count
在同一查詢
。
由於我使用PHP,技術上我可以執行:
SELECT * FROM myTable
然後使用count()來獲取總行數和array_slice獲得第10個數組元素。
但這聽起來不太有效。
SELECT FOUND_ROWS()將retrive上一個查詢的總行數,如果一個SELECT Blahblah限制後執行10將始終高於10 – Josejulio
較小或等於沒有它贏得」 t中,select中的'SQL_CALC_FOUND_ROWS'會導致計算行的總數,就好像'LIMIT'不存在一樣。閱讀文檔,這是一個很棒的功能,特別是對於分頁等。 – GolezTrol
噢,我的錯誤,對不起,沒有看到SQL_CALC_FOUND_ROWS。 – Josejulio