在MySQL中的LIMIT子句中使用變量我正在編寫一個(gè)存儲(chǔ)過程,其中有一個(gè)名為my_size的輸入?yún)?shù),它是一個(gè)INTEGER。我希望能夠LIMIT在SELECT聲明中的子句中使用它。顯然這是不支持的,有沒有辦法解決這個(gè)問題?# I want something like:SELECT * FROM some_table LIMIT my_size;# Instead of hardcoding a permanent limit:SELECT * FROM some_table LIMIT 100;
3 回答

絕地?zé)o雙
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
對(duì)于那些不能使用MySQL 5.5.6+并且不想編寫存儲(chǔ)過程的人,還有另一種變體。我們可以使用ROWNUM在subselect上添加where子句。
SET @limit = 10;SELECT * FROM ( SELECT instances.*, @rownum := @rownum + 1 AS rank FROM instances, (SELECT @rownum := 0) r) d WHERE rank < @limit;
添加回答
舉報(bào)
0/150
提交
取消