當我執行準備的語句:限制不會在日期時間比較工作
select SQL_CALC_FOUND_ROWS * from entries where (START_DATE >= ?) limit 300, 400
其中START_DATE
爲datetime
型,我得到相同的結果,如果我跑
select SQL_CALC_FOUND_ROWS * from entries where (START_DATE >= ?) limit 0, 400
這意味着我在第一個查詢中顯示了400個結果,而不是100個!這是爲什麼?
額外的信息:
我使用SQL_CALC_FOUND_ROWS
因爲我再執行查詢select FOUND_ROWS()
,因爲我需要的總成績才能申請我的分頁功能,計數,以每頁顯示100個條目。像上面這樣的一個查詢返回大約35k總結果(350頁)。
對於同一表中的其他查詢,這不是真的。例如,查詢:
select SQL_CALC_FOUND_ROWS * from entries where (NATIONALITY = ?) limit 100, 200
成功返回僅100個結果。其他列也是如此。只有類型datetime
似乎有問題。
你能提供一個sqlfiddle,所以我們可以重現結果? – user4035
它必須是「極限300,100」。它是'LIMIT [OFFSET,] NUMBER' – zerkms